我有一個(gè)工作簿,該工作簿聲明了一個(gè)旨在容納COM對(duì)象的全局變量。Global obj As Object我在Workbook_Open事件中將其初始化,如下所示:Set obj = CreateObject("ComObject.ComObject");我可以看到它已創(chuàng)建,那時(shí)我可以對(duì)其進(jìn)行一些COM調(diào)用。在我的工作表上,我有一堆單元格看起來像:=Module.CallToComObject(....)在模塊內(nèi)部,我有一個(gè)功能Function CallToComObject(...) If obj Is Nothing Then CallToComObject= 0 Else Dim result As Double result = obj.GetCalculatedValue(...) CallToComObject= result End IfEnd Function我可以看到這些工作,但是在刷新幾張紙之后,不再初始化obj對(duì)象,即將其設(shè)置為Nothing。有人可以解釋我應(yīng)該尋找的內(nèi)容嗎?
2 回答

肥皂起泡泡
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
以下任何一種都會(huì)重置全局變量:
使用“結(jié)束”
未處理的運(yùn)行時(shí)錯(cuò)誤
編輯代碼
關(guān)閉包含VB項(xiàng)目的工作簿
但這不一定是詳盡的清單...

牧羊人nacy
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
除了上述Tim的4點(diǎn)之外,我還建議提出第5點(diǎn):?jiǎn)尾綀?zhí)行代碼(調(diào)試)并在到達(dá)終點(diǎn)之前停止。可能會(huì)替換第3點(diǎn),因?yàn)榫庉嫶a似乎不會(huì)導(dǎo)致全局變量丟失其值。
添加回答
舉報(bào)
0/150
提交
取消