[英]VBA Closing a word document which has already been opened using another sub, bad file name error
[英]Referencing already opened word document in VBA
我正在使用Excel VBA打開word模板,它使用來自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
您是說每次運行時都已經打開了文檔嗎? 您編寫代碼的方式將執行此操作:
1)打開新的空白Microsoft Word進程
2)在新過程中,打開您選擇的工作簿
3)使新進程成為活動窗口
4) does stuff
如果要將其附加到已經打開的文件中,則需要執行GetObject
而不是CreateObject
。 所以改變:
Set objWord = CreateObject("Word.Application")
至
Set objWord = GetObject(, "Word.Application")
這將附加到當前打開的進程,然后在該進程中打開工作簿。 但是,它仍然每次都會打開該文檔的新副本,因為這就是您要執行的操作。
嘗試這個:
With objWord
.Selection.MoveDown count:=6
.Selection.MoveRight count:=5
.Selection.TypeText Text:="Repair and Calibration"
End With
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.