我對VBA是完全陌生的,特別是在不同的程序中,但是我創建了一個真實世界的小任務,很快變得複雜,有人可能會給我一些指針或代碼片段,以嘗試實現以下目標:從Excel打開Word,傳遞變量和文本(VBA宏),遠程控制Word
我有一個Excel文件,其中包含名稱和數字(請參見下文),我想將它們單獨傳輸到Word文檔。
如果我已經強調A2單元格,然後單擊[運行],我希望Word自動將打開,並輸入了類似
- 「嗨,邁克,你的電流量$ 12.37和你住在23 One Street。謝謝。「 -
金額應以粗體打印,之後Word應保存文件並關閉自身,無需進一步輸入。
同樣,當我選擇了A3時,它應該打開另一個文檔,寫入相同的文本,但Julia的變量填入,保存到指定的位置並關閉。
A B C
1 Name Address Amount
2 Mike 23 One Way $12.37
3 Julia 3949 Street $39.23
[BUTTON]
所以,本質上,我想,我試圖從Excel中「遠程控制」Word,並將一些變量從Excel提供到Word中。說實話,我完全喪失瞭如何做到這一點。
我迄今發現的是:
Dim wdApp As Word.Application, wdDoc As Word.Document
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then 'Word isn't already running
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
Set wdDoc = wdApp.Documents.Open("C:\temp\[NAME AFTER SELECTED FIELD A2].docx")
wdApp.Visible = True
...
現在我不知道該怎麼辦! 如何將標準文本與選定字段的行中的變量傳遞到Word? 如何格式化它們(粗體,宋體,紅色等)? 如何保存在指定的文件名下?
這甚至有可能嗎?我知道VBA非常強大,所以我希望你能幫助我! 我使用的是Office 2013,因此任何與宏編程或VBA語言相關的警告都應該考慮到這一點。
非常感謝!
在Word中創建一個預格式化的模板文檔,書籤中可以用Excel中的值替換。從你的問題來看,你是否需要每次創建一個新文檔,或者如果你正在更新現有文檔(每個人都有一個特定的文檔),這並不清楚。以下是設置書籤文本的方法:http://word.mvps.org/faqs/macrosvba/InsertingTextAtBookmark.htm –