Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
salve vorrei aprire un file excel da vba ma senza visualizzarlo all'utente....
in background
Negli esempi qui sotto apro un file e scrivo nella cella A1 del Foglio1 del file che apro, senza che l'utente veda il file.
Public Sub m()
Dim objExcel As Excel.Application
Dim objWkb As Excel.Workbook
Dim objWks As Excel.Worksheet
Set objExcel = New Excel.Application
Set objWkb = objExcel.Workbooks("C:\Prova\tuoFile.xls")
Set objWks = objWkb.Worksheets("Foglio1")
With objWks
.Range("A1").Value = "Pippo"
End With
objExcel.Quit
Set objWks = Nothing
Set objWkb = Nothing
Set objExcel = Nothing
End Sub
NOTE. Aprendo il file in questo modo, non hai la possibilità di chiuderlo se non da codice. Quindi devi implementare la cosa, ad esempio:
Private objExcel As Excel.Application
Private objWkb As Excel.Workbook
Private objWks As Excel.Worksheet
Public Sub mApri()
Set objExcel = New Excel.Application
Set objWkb = objExcel.Workbooks.Open("C:\Prova\tuoFile.xls")
Set objWks = objWkb.Worksheets("Foglio1")
End Sub
Public Sub mFaQualcosa()
With objWks
.Range("A1").Value = "Mauro"
End With
End Sub
Public Sub mChiudi()
objWkb.Save
objExcel.Quit
Set objWks = Nothing
Set objWkb = Nothing
Set objExcel = Nothing
End Sub
Cambia da Private a Public la visibilità delle tre variabili oggetto se gli oggetti sono utilizzati da parti del tuo progetto esterne al modulo che contiene il codice. Ad esempio se la Routine mFaQualcosa si trova in un modulo di codice esterno al modulo che contiene le dichiarazioni degli oggetti.