我正在使用Excel 2010 VBA以编程方式生成Word 2010文档 当我尝试将ListTemplate应用到我插入的其中一个段落时,程序崩溃了(下面代码中的第5行)。
thisValue = tempSheet.Cells(i, 1).Value
.Content.InsertAfter thisValue
.Content.InsertParagraphAfter
Set thisRange = .Paragraphs(i).Range
thisRange.ListFormat.ApplyListTemplate ListTemplate:=ListGalleries(wdBulletGallery).ListTemplates(1)
抛出的错误如下所示:
运行时错误“-2147023170(800706be)”
自动化错误
远程过程调用失败。
整个程序:
Sub MoveDataToWord(ByRef tempSheet As Worksheet)
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Add
With wrdDoc
For i = 1 To tempSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
thisValue = tempSheet.Cells(i, 1).Value
.Content.InsertAfter thisValue
.Content.InsertParagraphAfter
Set thisRange = .Paragraphs(i).Range
thisRange.ListFormat.ApplyListTemplate ListTemplate:=ListGalleries(wdBulletGallery).ListTemplates(1)
Next i
End With
Set wrdDoc = Nothing
Set wrdApp = Nothing
End Sub
答案 0 :(得分:2)
ListGalleries是Word应用程序中的一个对象。要访问它,我需要使用wrdApp.ListGalleries。固定的代码行如下所示。
thisRange.ListFormat.ApplyListTemplate ListTemplate:=wrdApp.ListGalleries(wdBulletGallery).ListTemplates(1)