Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao gio56,
ho provato il tuo file, in tutte le maniere, ma appena premo il pulsante mi compare:
errore di run-time '1004': impossibile trovare 'commesse.xlsm'. controllare l'ortografia del nome del file e verificare che la posizione del file sia corretta. ...........
e punta a: Workbooks.Open Filename:=sFile1
mentre se scrivo così il codice funziona
Option Explicit
Public Const sFile1 As String = "Commesse.xlsm"
Public Const sFile2 As String = "Clienti.xlsm"
Public Const sFile3 As String = "Fornitori.xlsm"
Public Const sFile4 As String = "Ordini.xlsm"
Public Const sPercorso As String = "C:\NDJ\Giovanni"
'--------->>
Public Sub Pulsante1()
Workbooks.Open Filename:="C:\NDJ\Giovanni\Commesse.xlsm", ReadOnly:=False
Workbooks.Open Filename:="C:\NDJ\Giovanni\Clienti.xlsm", ReadOnly:=True
'Call Tester(sFile1, sFile2)
End Sub
'--------->>
Public Sub Pulsante2()
Workbooks.Open Filename:="C:\NDJ\Giovanni\Commesse.xlsm", ReadOnly:=False
Workbooks.Open Filename:="C:\NDJ\Giovanni\Fornitori.xlsm", ReadOnly:=True
'Call Tester(sFile1, sFile3)
End Sub
'--------->>
Public Sub Pulsante3()
Workbooks.Open Filename:="C:\NDJ\Giovanni\Commesse.xlsm", ReadOnly:=False
Workbooks.Open Filename:="C:\NDJ\Giovanni\Ordini.xlsm", ReadOnly:=True
'Call Tester(sFile1, sFile4)
End Sub
'--------->>
Public Sub Tester(aFile As String, bFile As String)
Dim WB As Workbooks
'Workbooks.Open Filename:=sFile1
'Workbooks.Open Filename:=sFile2, ReadOnly:=True
End Sub
'<<=========
Grazie Gio56
Purchè il valore assegnato alla costante sPercorso sia corretto, e a questo proposito, nota la barra rovesciata finale, non mi aspetterei di riscontrare un errore, Certamente, nelle mie prove, il mio codice funziona senza alcun errore e nel modo previsto.
Aggiungerei che credo che il mio codice sia più efficiente e più facile da aggiornare che il tuo adattamento del codice.
Detto questo, se i quattro file da aprire si trovassero nella stessa directory che il file GestioneCommesse.xlsm, si potrebbe semplificare il codice così:
'=========>>
Option Explicit
Public Const sFile1 As String = "Commesse.xlsm"
Public Const sFile2 As String = "Clienti.xlsm"
Public Const sFile3 As String = "Fornitori.xlsm"
Public Const sFile4 As String = "Ordini.xlsm"
'--------->>
Public Sub Pulsante1()
Call Tester(sFile1, sFile2)
End Sub
'--------->>
Public Sub Pulsante2()
Call Tester(sFile1, sFile3)
End Sub
'--------->>
Public Sub Pulsante3()
Call Tester(sFile1, sFile4)
End Sub
'--------->>
Public Sub Tester(aFile As String, bFile As String)
Dim WB As Workbook
Dim sStr As String
Set WB = ThisWorkbook
sStr = WB.Path & Application.PathSeparator
Workbooks.Open Filename:=sStr & sFile1
Workbooks.Open Filename:=sStr & sFile2, ReadOnly:=True
End Sub
'<<=========
===
Regards,
Norman