Non va bene ...
Intanto la verifica del file la fai semplicemente con la Dir senza tutto quel codice nella funzione e poi il codice corretto prevede la creazione di una istanza di Excel attraverso cui devi effettuare le operazioni.
L'istanza alla fine viene distrutta con la Quit regolarmente.
in questo modo vedrai che l'istanza di Excel viene chiusa correttamente.codice:Option Explicit Dim fname As String Dim xApp As Object Dim oWbk As Object Dim oWsh As Object Private Sub Form_Load() fname = gsUserDocumentexcel & "\Esempio.xls" If Len(Dir(fname)) Then Set xApp = CreateObject("Excel.Application") Set oWbk = xApp.Workbooks.Open(fname) Set oWsh = oWbk.ActiveSheet Else MsgBox "Impossibile eseguire il programma" & _ vbCrLf & "Il file " & fname & " non e' stato trovato.", vbOKOnly Unload Me End If End Sub Private Sub Form_Unload(Cancel As Integer) If Not (oWbk Is Nothing) Then oWbk.Close False xApp.Quit Set oWsh = Nothing Set oWbk = Nothing Set xApp = Nothing End If End Sub