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