Ho una cartella di lavoro che dichiara una variabile globale destinata a contenere un object COM.
Global obj As Object
Lo initalizzo nell’evento Workbook_Open in questo modo:
Set obj = CreateObject("ComObject.ComObject");
Posso vedere che è stato creato e in quel momento posso fare alcune chiamate COM ad esso.
Sul mio foglio ho un mucchio di celle che assomigliano a:
=Module.CallToComObject(....)
All’interno del modulo ho una funzione
Function CallToComObject(...) If obj Is Nothing Then CallToComObject= 0 Else Dim result As Double result = obj.GetCalculatedValue(...) CallToComObject= result End If End Function
Riesco a vedere questi lavori per un po ‘, ma dopo che alcuni fogli sono stati aggiornati, l’object obj non è più inizializzato, cioè è impostato su Nothing.
Qualcuno può spiegare quello che dovrei cercare che può causare questo?