特定行的VBA宏

时间:2019-07-03 13:30:28

标签: excel vba ms-word

我目前正在尝试在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

0 个答案:

没有答案