Salve a tutti.
Ho un documento Word nel quale ho inserito vari moduli VBA con diverse routine.
Uso questo documento in due PC che usano diverse versione di Office.
Nel secondo PC, nel quale è installato Office 2016, per far funzionare le varie macro devo per forza inserire questa istruzione:
Private 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 Long
E' una seccatura correggere sempre il codice. Vorrei che la cosa avvenisse automaticamente: provo con la seguente routine, ma purtroppo non funziona. La prima riga viene evidenziata in rosso ed il codice non procede. Qualche aiuto?
If VBA7 Then
Private 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 Long
#Else
Private 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