08/05/2024 - surfgarden ha scritto:
strProgramName = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
strProgramName64bit = "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
strPercorso = CurrentProject.Path & "\" & "CRX_" & [Forms]![msc_qryCRX]![cboScAnno].Value & ".xlsm"
On Error GoTo 10
Call Shell(strProgramName & " " & strPercorso, vbMaximizedFocus)
Exit Sub
10 Call Shell(strProgramName64bit & " " & strPercorso, vbMaximizedFocus)
Ma sei sicuro che il tuo codice funzioni? Se il nome del file dovesse avere avesse degli spazi ti darebbe errore all'apertura di excel.
Poi l'istruzione goto 10 non si puo' guardare…. Io farei cosi':
...
On Error GoTo Err_handler
Dim strProgramName As String
Dim strPercorso As String
strPercorso = CurrentProject.Path & "\" & "CRX_" & [Forms]![msc_qryCRX]![cboScAnno].Value & ".xlsm"
If Len(Dir("C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE")) > 0 Then
strProgramName = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
Else
strProgramName = "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
End If
Call Shell(strProgramName & " " & Chr(34) & strPercorso & Chr(34), vbMaximizedFocus)
Exit_Err_handler:
Exit Sub
Err_handler:
MsgBox Err.Description
Resume Exit_Err_handler
End Sub