簡體   English   中英

將Excel文件中的文本插入Word文檔(Word VBA)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM