2015-06-17 89 views
0

這是我第一次在Word中嘗試VBA,儘管我在Excel中使用了它。我想要做的是在打開我的Word模板文檔後自動執行我的代碼。這裏是我擺在我的Word模板模塊代碼:爲什麼我的宏不能在Word中自動運行?

Private Sub AutoOpen() 


Dim myValue 
myValue = InputBox(prompt:="What is the client name", Title:="InputBox", Default:="Type your client name here") 


stringReplaced = stringReplaced + "<Replace>" 

For Each myStoryRange In ActiveDocument.StoryRanges 
    With myStoryRange.Find 
     .Text = "<Replace>" 
     .Replacement.Text = myValue 
     .Wrap = wdFindContinue 
     .ClearFormatting 
     .Replacement.ClearFormatting 
     .Replacement.Highlight = False 
     .Execute Replace:=wdReplaceAll 
    End With 
Next myStoryRange 



End Sub 

我使用Word 2010中我的代碼運行像我希望它時,我手動去並點擊運行。但是,當我關閉Word文檔並重新打開時,什麼都沒有發生。我谷歌搜索問題試圖找出解決方案(並嘗試不同版本的AutoOpen),但我無法弄清楚我做錯了什麼。關於爲什麼AutoOpen不會自動執行的任何想法? 謝謝!

+0

這http://www.techrepublic.com/blog/microsoft-office/how-to-automatically-execute-a-word-macro-when-you- create-open-or-close-a-document /會提示Document_Open()而不是AutoOpen() – Chris

+0

謝謝。我也嘗試過,並沒有奏效。 – Chris2015

回答

0

您應該將您的代碼放置在標準模塊中的模板文檔中。其次,從AutoOpen()改子名稱爲:

Sub AutoExec() 
    '..... your code here ..... 
End Sub 
相關問題