我目前正在尝试在excel中编写代码,这将允许我双击A列中的特定单元格,它将运行一个宏,该宏会将excel中的信息输入到Word模板中。例如,我有十张不同期限的公司债券,第一行中的债券即将到期,我需要为其生成收据。我要做的是单击单元格A1,它将把Excel中的键信息输入到我创建的Microsoft Word模板中。我下面的代码会将信息输入doc一词,但这仅适用于一项。我现在正在尝试的是“ for循环”,但是我不认为这是我应该采取的方式。
Sub LOC_Test()
On Error GoTo errorHandler
Dim WDApp As Word.Application
Dim myDoc As Word.Document
Dim mywdRange As Word.Range
Dim CatD As Excel.Range
Dim CatB As Excel.Range
Set WDApp = New Word.Application
With WDApp
.Visible = True
.WindowState = wdWindowStateMaximize
End With
Set myDoc = WDApp.Documents.Add(Template:="C:\Desktop\Bond_Test.docm")
Set EOD = Sheets("Sheet1").Range("A3")
Set IED = Sheets("Sheet1").Range("B3")
Set FED = Sheets("Sheet1").Range("C3")
Set IP = Sheets("Sheet1").Range("D3")
Set MN = Sheets("Sheet1").Range("E3")
Set MName = Sheets("Sheet1").Range("F3")
Set LOCA = Sheets("Sheet1").Range("G3")
Set NOB = Sheets("Sheet1").Range("H3")
Set BOC = Sheets("Sheet1").Range("I3")
Set Add = Sheets("Sheet1").Range("J3")
With myDoc.Bookmarks
.Item("EOD").Range.InsertAfter EOD
.Item("IED").Range.InsertAfter IED
.Item("FED").Range.InsertAfter FED
.Item("IP").Range.InsertAfter IP
.Item("MN").Range.InsertAfter MN
.Item("MName").Range.InsertAfter MName
.Item("LOCA").Range.InsertAfter LOCA
.Item("NOB").Range.InsertAfter NOB
.Item("BOC").Range.InsertAfter BOC
.Item("Add").Range.InsertAfter Add
End With
errorHandler:
Set WDApp = Nothing
Set myDoc = Nothing
Set mywdRange = Nothing
End Sub