由于我的文档通常会有一些可以反复使用的短语,我想将它们全部热键以节省时间。更具体地说,我计划制作,例如,Macro1(插入“当然”),Macro2(插入“问题是”)和Macro3(插入“按时间”),热键到Alt + 1,2 ,分别为3。如果我按Alt + 2,“问题是”立即插入我的cusor。
这是我正在使用的基本宏:
Sub Macro1()
Selection.TypeText Text:="sample text"
End Sub
问题在于任何新文档,通常需要更改Macro1,2和3的内容。我计划创建一个excel文件来容纳所有短语以便于编辑,但不知道如何将其特定单元格链接回单词宏。有没有办法做到这一点?
注意:我知道单词中的自动图文集或构建块功能,但我发现它们不像excel表那样容易编辑。
答案 0 :(得分:0)
这是一个例子,假设你的Excel文件位于" C:\ temp \"和yor短语保存在第一个工作表和第一列: 此函数将从此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引用(在Tools \ References中勾选Microsoft Excel对象库)。