bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Não deixar abrir se não tiver o Service Pack 2 instalado

Não deixar abrir se não tiver o Service Pack 2 instalado

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

As primeiras versões do Office 2007 vieram com uma série de bugs.  O pacote de atualização Service Pack 2 (SP2) veio corrigindo a maioria desses problemas e trazendo novidades! Dentre elas, a possibilidade de converter os objetos do Access em PDF, sem o uso de ferramentas de terceiros.  

Na prática, essa diferença de versões, estava me trazendo problemas quando os clientes precisavam reinstalar o Office 2007.   É que na reinstalação, esqueciam de atualizar o Office com o Service Park adequado.    E lá ia eu, atender ao chamado do cliente, pois o aplicativo apresentava um monte de problemas.

Para resolver esta questão, criei uma função para os aplicativos, que identifica a versão do Access instalada.  Caso não esteja com a versão correta, a função gera uma mensagem do ocorrido, solicitando a atualização do Office e abortando a abertura do aplicativo.

Insira o código abaixo em um módulo global:

Public Function fncDesatualizado() As Boolean
Dim strbox As String
If Application.Version = "12.0" Then 'versão do Access 2007
  'o comando SysCmd(715) é o responsável pela identificação da versão
  Select Case CLng((Int(Application.Version) / 10) & SysCmd(715))
    Case 124017, 124518, 126211
      '4017 Access 2007 (Beta-1)
      '4518 Access 2007 Sem SP
      '6211 Access 2007 SP1
      '6423 Access 2007 SP2
      strbox = "O Maestro detectou que o seu Office 2007 não está atualizado "
      strbox = strbox & "com o Service Pack 2 ou superior." 
      strbox = strbox & vbCrLf & vbCrLf
      strbox = strbox & "Não será possível usar o aplicativo enquanto o Office "
      strbox = strbox & "não for atualizado."
      MsgBox strbox, vbCritical, "Aviso"
      'Sair do aplicativo
      fncDesatualizado = True
    Case 126304
      '6304 Access 2007 runtime 
      strbox = "O Maestro detectou que o seu Access 2007 runtime não está "
      strbox = strbox & "atualizado com o Service Pack 2 ou superior." 
      strbox = strbox & vbCrLf & vbCrLf
      strbox = strbox & "Não será possível usar o aplicativo enquanto o Access "
      strbox = strbox & "não for atualizado."
      MsgBox strbox, vbCritical, "Aviso"
      'Sair do aplicativo
      fncDesatualizado = True
  End Select
ElseIf Application.Version = "14.0" Then 'versão do Access 2010
   Select Case Clng(CInt(Application.Version) & SysCmd(715))
     Case 144417
       '4417 Access 2010 (Beta-1)
       '4514 Access 2010 (Beta-2)
      strbox = "O Maestro detectou que o seu Office 2010 não é o Beta 2."
      strbox = strbox & vbCrLf & vbCrLf
      strbox = strbox & "Não será possível usar o aplicativo enquanto o Office "
      strbox = strbox & "não for atualizado."
      MsgBox strbox, vbCritical, "Aviso"
      'Sair do aplicativo
      fncDesatualizado = True
  End Select
End If
End Function

Crie a macro de inicialização AutoExec e use o campo da condição para verificar o valor de retorno da função fncDesatualizado(). Caso retorne o valor verdadeiro o aplicativo será fechado, através da ação Sair.  Veja a figura abaixo:

Configuração da macro AutoExec

 

Toda vez que o aplicativo for iniciado, a função irá verificar se está rodando na versão correta.

Problemas com o uso na extensão ACCDE.

Se você gerou um ACCDE, através do Office 2007 SP2 , ele não será reconhecido pelas versões anteriores do Office 2007. 

Observe a mensagem ao tentar rodar um ACCDE (SP2), num Office desatualizado:

Falha na abertura arquivo ACCDE

 

Portanto, o código oferecido acima é inútil se você estiver rodando seus aplicativos no formato ACCDE.

Se tentar rodar o ACCDE (Access 2007 SP2) no Access 2010 beta 1 ou 2 terá problemas também.

A conclusão é que você deve gerar o ACCDE em função da versão que o cliente estiver usando naquele momento.  Se ele estava usando o SP1 e você resolveu atualizar o Office 2007 dele com o Sp2, deverá gerar um novo ACCDE do aplicativo, para esta nova versão atualizada.  Se resolveu instalar o Office 2010 beta 2, gere o ACCDE no próprio beta 2.   Muito atento com isso,então! OK?

Como distribuir um ACCDE  que você não sabe a versão que o destinatário está usando ?   

No meu caso, eu utilizo o arquivo instalador InnoSetup/IStool , no qual criei uma rotina de verificação da versão do Office.  De acordo com a versão identificada do Office, o programa instala o ACCDE correto na máquina do usuário.   Como exemplo, o aplicativo Montaribbons, que ofereço aqui no site, só é instalado se o usuário estiver com o Office 2007 Sp2 ou com o Office 2010 beta 2.

Se não fizer uso de um instalador com este recurso, procure sinalizar ao  usuário , a necessidade de atualização do Office, para que o seu aplicativo funcione de forma correta.

Para baixar o pacote de atualização SP2 do Office 2007, clique no seguinte link:

Bom estudo!


 

 


1 comentário(s)

Marcio Melo -RJ   19/02/2013 22:05:25

Acabei tendo de usar esse recurso, realmente as pessoas simplesmente reinstalam o officce e nem lembra de atualizar, ainda mas o SP2 do access, resolveu meu problema... simples e eficiente...

Sou mais Brasil!


Envie seu comentário: