Da sempre utilizzo il comando Shell per aprire un file Excel in cui esporto alcune query.
Il contesto l'ho già trattato varie volte, tra cui l'anno scorso con riferimento alla difficoltà di esportare un recordset filtrato https://www.iprogrammatori.it/forum-programmazione/access/problema-di-sintassi-su-query-paramentrica-t51511.html
Risolto quel problema, l'anno scorso il db non mi ha dato alcun problema.
Per la prima volta, però mi si presenta un problema sull'apertura di excel
Dim strProgramName As String
Dim strPercorso As String
Dim xlsm As Object
....
strProgramName = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
strPercorso = CurrentProject.Path & "\" & "CRX_" & [Forms]![msc_qryCRX]![cboScAnno].Value & ".xlsm"
DoCmd...(esporto le query)
Call Shell(strProgramName & " " & strPercorso, vbMaximizedFocus)
L'esecuzione della sub si arresta solo sul comando Shell. L'esportazione delle query su excel infatti è corretta, e se apro manualmente il file CRX_2024.xlsm è tutto regolare e aggiornato.
Provando a debuggare:
Debug.Print strProgramName & " " & strPercorso
Call Shell(strProgramName & " " & strPercorso, vbMaximizedFocus)
ottengo in finestra immediata:
C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE D:\Cartellina2024\Evoluzioni PN_Opzioni\CRX_2024.xlsm
In realtà, ricordo che in passato mi si presentava il problema quando copiavo/incollavo, rinominavo (per i vari upgrade che apportavo al programma), spostavo in altri percorsi, ecc.. , ma alla fine, rinominando il file excel, risolvevo sempre.
Questa volta invece non ne dò fuori.
2 Osservazioni:
1) Quando copio/incollo/rinomino, nel centro protezione inserisco sempre i nuovi percosi come attendibili
2) Ho anche provato a creare un pulsante per aprire excel con la Macro predefinita EseguiApplicazione, ma l'azione non è presente nell'elenco (e il sito Microsoft fa notare che questa azione non è consentita se il database non è attendibile)