Ciao a tutti. Spero proprio ci sia qualcuno che riesca a dissipare il mistero che si fa sempre più fitto, tra la'ltro già passato ad altri siti di programmatori ma senza esiti positivi.
Sottopongo il quesito:
il codice di seguito apre tre diversi file excel e ne copia i fogli su uno di essi.
la cosa strana è che ogni volta che apro il database access che contiene il codice, la prima volta che lo lancio il codice esegue perfettamente.la seconda volta mi genera un errore sulla prima istruzioni copy "indici non compresi nell'intervalo".se chiudo il db e lo riapro e rieseguo il codice,la prima volta funziona, se lo rilancio rigenera l'errore.
e’ come se ogni volta che si esegue la funzione dopo all’apertura del db, rimanga in memoria qualcosa, fino alla chiusura del db, che ne compromette l’ulteriore esecuzione.
qualcuno sa dirmi cosa sbaglio ?
Dim appExc as New excel.Application
With appExc
.Visible = True
.Workbooks.Open FileName:="C:\Cartella1.xlsx"
.Workbooks.Open FileName:= "C:\ Cartella2.xlsx"
.Workbooks.Open FileName:= "C:\Cartella3.xlsx"
.Windows("Cartella2.xlsx").Activate
.Sheets("FoglioCartella2").Select
.Sheets("FoglioCartella2").Copy After:=Workbooks("Cartella1.xlsx").Sheets("FoglioCartella1")
.Windows("Cartella3.xlsx").Activate
.Sheets("FoglioCartella3").Select
.Sheets("FoglioCartella3").Copy After:=Workbooks("Cartella1.xlsx").Sheets("FoglioCartella1")
End With
set appExc = Nothing
|