2011-01-14 57 views
0

我想弄清楚導致全局模板(normal.dot)失去其存儲的值的第二臺部署機器上可能存在問題。MS Word 2000全球模板不保留VBA值

此代碼適用於我擁有的乾淨的VM機器。這兩臺機器都是隻有Word 2000的Windows XP。它在VM上按預期工作。在另一臺機器上,還有其他模板已安裝並正在使用,我相信它們中的每一個都引用了Normal.dot。

每當下面的代碼在第二個文檔打開時執行,它仍然MsgBox的'false',因爲它不保留啓動值。

什麼可能導致Normal.dot重新啓動/失去其存儲的值?我想這可能是因爲它也在使用其他模板,但我不明白它們是如何相關的。

Dim started As Boolean 

Private Sub Document_Open() 
    MsgBox started 
    If Not started Then 
     started = True 
    End If 
End Sub 

回答

0

嗯由於某種原因,我不能評論問這個問題...其他任何模板有代碼運行嗎?你確定用戶機器上只有一個normal.dot?

我會先從硬盤的徹底模板搜索開始,並通過將文件擴展名更改爲非單詞來逐個「禁用」所有找到的模板。如果你沒有其他模板,但它仍然沒有開火,那麼你知道他們沒有責任。 (他們不應該是這樣,因爲模板只能由文檔或用戶加載。)

+0

現有軟件中還有許多其他模板,所以我認爲這也是問題。我重新設計了我的.NET類作爲單例,所以我不需要擔心多個實例被初始化。謝謝你的幫助。 – TommyGunn32