[英]Insert text from an excel file into a word document (Word VBA)
由於我的文檔通常包含可以反復使用的某些短語,因此我想對所有短語進行熱鍵操作以節省時間。 更具體地說,我打算使Macro1(插入“當然”),Macro2(插入“問題是”)和Macro3(插入“時間”)熱鍵為Alt +1,2 ,3。 如果我按Alt + 2,則“立即開始”會立即插入“問題是”。
這是我正在使用的基本宏:
Sub Macro1()
Selection.TypeText Text:="sample text"
End Sub
問題是對於任何新文檔,Macro1、2和3的內容通常都需要更改。 我計划創建一個excel文件來容納所有短語以便於編輯,但不知道如何將其特定單元格鏈接回word宏。 有沒有辦法做到這一點?
注意:我知道Word中的自動圖文集或Building Block功能,但是我發現它們不像excel表那樣容易編輯。
這是一個示例,假設您的Excel文件位於“ C:\\ temp \\”中,並且您的短語保存在第一工作表和第一列中:此函數將從該excel文件中讀取第一個單元格(A1):
Function Read_Excel_Cell(cellRin As Long) As String
Dim oExcel As Excel.Application
Dim myWB As Excel.Workbook
Set oExcel = New Excel.Application
Set myWB = oExcel.Workbooks.Open("C:\temp\phrases.xlsx")
Read_Excel_Cell = myWB.Sheets(1).Cells(cellRin, 1)
myWB.Close
Set myWB = Nothing
Set oExcel = Nothing
End Function
然后此宏會將其插入文檔中:
Sub InsertText1()
Selection.TypeText Text:=Read_Excel_Cell(1)
End Sub
因此,您可以通過這種方式創建所需數量的宏,並使用相同的功能Read_Excel_Cell()來引用另一行。
要使它在Word vba中運行,必須添加Excel參考(在“工具\\參考”中,勾選“ Microsoft Excel對象庫”)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.