我使用Excel VBA打开一个单词模板,它使用excel电子表格中的信息填充模板。从那里开始,我在电子表格上有一个按钮,然后我想在单击文档时填充word文档中的另一行。我遇到的问题是,当我运行按钮宏时,它只是打开另一个word文档并粘贴按钮信息,而不是在已打开的文档上执行。我将在下面附上我的代码,我相信这是一个简单的修复,我似乎无法找到解决方法。
Sub RepairCal()
Dim objWord As Object
Dim objDoc As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Open("C:\Users\z003narc\Documents\Gage Lab Form Template.docm")
objWord.Activate
With Selection
objWord.ActiveDocument.Selection.MoveDown count:=6
objWord.ActiveDocument.Selection.MoveRight count:=5
objWord.ActiveDocument.Selection.TypeText Text:="Repair and Calibration"
End With
End Sub
答案 0 :(得分:0)
您是说每次运行时都已打开文档?编写代码的方式,它将执行此操作:
1)打开新的空白Microsoft Word进程
2)在新流程中,打开您选择的工作簿
3)使新进程成为活动窗口
4)does stuff
如果您希望将其附加到已已打开的文件,则需要GetObject
而不是CreateObject
。所以改变:
Set objWord = CreateObject("Word.Application")
到
Set objWord = GetObject(, "Word.Application")
这将附加到当前打开的进程,然后在该进程中打开工作簿。但是,它每次都会打开该文档的新副本,因为这就是您要告诉它的内容。
答案 1 :(得分:0)
试试这个:
With objWord
.Selection.MoveDown count:=6
.Selection.MoveRight count:=5
.Selection.TypeText Text:="Repair and Calibration"
End With