[英]Word VBA AutoNew macro not firing when opening Word
使用 Word 2013。
我發現這個以前的問題是相似的,但沒有被接受的答案,我不想構建一個加載項,所以我希望我不需要復雜的東西。
我的 Normal.dotm 中有 AutoNew 和 AutoOpen 宏。 它們運行良好,只是當我從任務欄或其他圖標打開 Word 時,它們都不會觸發。 在這種情況下,Word 會以空白的“Document1”打開,但沒有我想要的初始化。
假設我的宏在打開或創建文檔時顯示帶有文檔名稱的消息。 我知道這很愚蠢,但這似乎是一個可行的例子。
如果我通過在文件資源管理器中單擊文檔或使用 File | 打開文檔打開或文件 | 新建,然后將觸發相應的宏並彈出消息。
但是,如果我只是從頭開始打開 Word,則不會觸發宏,也不會顯示“Document1”消息。
我嘗試使用 AutoExec 來解決這種情況,但是當 AutoExec 觸發時,沒有活動窗口,也沒有加載文檔。
想法?
問題中引用的示例不“可行”,因為想要顯示自動生成的文檔的名稱是沒有意義的。
在任何情況下,只有AutoExec
會在 Word 應用程序啟動時觸發 - 這是設計使然。 當 Word 在應用程序啟動時創建新的默認文檔時, AutoNew
不會觸發。 (您還會注意到,如果您立即打開另一個文檔,而不對默認文檔進行任何操作,該文檔將自動關閉。從某種意義上說,此默認文檔不存在,直到用戶對其進行操作。)
可以工作的是在 AutoExec 期間顯式創建一個新文檔。 這將具有生成文檔代替默認文檔的效果。 該文檔將具有與該默認文檔相同的名稱。 唯一不同的是,當打開另一個文檔時,該文檔不會自動關閉。
創建Document_New
將觸發AutoNew
(和Document_New
)。
Sub AutoExec()
Documents.Add
End Sub
在 Word 2016 中,64 位 AutoOpen 在 AutoExec 之前觸發。 因此,如果您打開一個文件,當 AutoExec 運行時,您只能在沒有文件已打開的情況下打開一個新文件。 因此,當您打開一個文件時,您不會同時打開另一個空白文檔。
在 Word 2010 和 2013 中,AutoExec 在 AutoOpen 之前觸發。 因此無法應用該解決方案。 但您可以要求 Word 關閉 AutoOpen 宏中的空白文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.