繁体   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