这是我第一次尝试在Word中使用VBA,尽管我在Excel中使用了它很多。我想要做的是在打开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文档并重新打开时,根本没有任何事情发生。我用Google搜索了试图找到解决方案的问题(并尝试了不同版本的AutoOpen),但我无法弄清楚我做错了什么。关于为什么AutoOpen不会自动执行的任何想法? 谢谢!
答案 0 :(得分:0)
您应该将代码放在模板文档的标准模块中。接下来,将子名称从AutoOpen()
更改为:
Sub AutoExec()
'..... your code here .....
End Sub