Facciamo le cose piu' semplici...
-se col vba vuoi aprire un file excel, con il percorso inserito in A1 e il nomefile in A2, allora potresti usare:
- Codice: Seleziona tutto
Perc = Range("A1").Value 'es D:\Downloads
NomeF = Range("A2").Value 'es MioFile.xlsm
Workbooks.Open Perc & "\" & NomeF 'Aggiunto \ tra percorsoe nome
Ovviamente questo codice serve solo per aprire in Excel un file Exxcel
Piu' generalmente, se vuoi far aprire un file dalla sua applicazione di default, allora potresti usare le "API" di windows:
-in testa a un Modulo standard del vba inserisci questa dichiarazione:
- Codice: Seleziona tutto
#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
Poi in una macro di quello stesso modulo userai il codice:
- Codice: Seleziona tutto
Perc = Range("A1").Value 'es D:\Downloads
NomeF = Range("A2").Value 'es MioFile.xlsm
lngx = ShellExecute(vbNull, "Open", Perc & "\" & NomeF, "", "", vbNormalFocus)
Ciao