2017-09-05 118 views
0

在我們的辦公室,我們正在使用包含宏的模板。我們即將升級到Office 2016,但不幸的是,宏不像以前那樣完全工作。如何在VBA(Word 2016)中的Documents.add後繼續執行代碼?

當前的實現是從定製對話中打開模板,並在模板中調用Document_New()。這似乎不再有效:Document_New()僅在從文件瀏覽器打開模板時調用,而不是在另一個宏中由Documents.Add()打開時調用。

或者,我找到了很多解決方案,其中Documents.Add被調用,然後在該新文檔上調用其他函數。例如

Set doc = Documents.Add(Template:=strSkeuze, NewTemplate:=True) 
Call MsgBox(doc.Name) 

在Word 2016中,這似乎不起作用。 MsgBox不會被調用,當我在調試模式下遍歷代碼時,代碼在Documents.Add()之後停止執行。

但是我無法找到任何這是已知更改的地方,我正在尋找解決方法以執行代碼,無論是從模板(如Document_New())還是從打開文檔的父宏。

有人可以告訴我這是否還有可能以及如何解決這個問題?

回答

0

您應該能夠使用應用程序的Document_New事件來檢測添加的文檔,可以是它觸發(假定您已經使用Document的Document_New事件),也可以通過在第一個動作中計算打開的文檔來人爲生成事件在文檔添加後採取。

相關問題