Bom dia Pessoal.
Eu li vários tópicos a respeito deste assunto, porém não consegui resolver o meu problema, apesar de ser muito próximo a cada tópico lido...
Inclusive li o tutorial do mestre avelino em sua página.
o que acontece é o seguinte: atualmente usamos o office 2007 32 bits em sistemas windows 64 bits e 32 bits...
e nunca tive problema com o código.
Porém estou atualizando parte das máquinas para o office 2013 64 bits em windows 10, algumas máquina permanecerão com o windos 7 32 ou 64 bits com o office 2007 32 bits instalado (por questão de custo).
o fato é que eu tentei resolver as "public declare" como na página da microsoft / site avelino / fórum... e nada consegui ainda.
agradeço quem puder me ajudar.
Eu li vários tópicos a respeito deste assunto, porém não consegui resolver o meu problema, apesar de ser muito próximo a cada tópico lido...
Inclusive li o tutorial do mestre avelino em sua página.
o que acontece é o seguinte: atualmente usamos o office 2007 32 bits em sistemas windows 64 bits e 32 bits...
e nunca tive problema com o código.
Porém estou atualizando parte das máquinas para o office 2013 64 bits em windows 10, algumas máquina permanecerão com o windos 7 32 ou 64 bits com o office 2007 32 bits instalado (por questão de custo).
o fato é que eu tentei resolver as "public declare" como na página da microsoft / site avelino / fórum... e nada consegui ainda.
agradeço quem puder me ajudar.
- Código:
Private Sub AbreSis()
#If VBA6 Then
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#ElseIf VBA7 Then
#If Win64 Then
' O erro acontece aqui, pois ele não reconhece o PtrSafe no 2007 32 bits
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
#Else
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#End If
#Else
MsgBox "Não foi possível verificar a versão do seu computador. Verifique com o departamento de informática.", vbCritical, "LOCALIZAR VERSÃO"
#End If
End Sub