应用ListTemplate后,MS Word崩溃

时间:2012-07-13 14:05:03

标签: vba excel-vba ms-word excel

我正在使用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

1 个答案:

答案 0 :(得分:2)

ListGalleries是Word应用程序中的一个对象。要访问它,我需要使用wrdApp.ListGalleries。固定的代码行如下所示。

thisRange.ListFormat.ApplyListTemplate ListTemplate:=wrdApp.ListGalleries(wdBulletGallery).ListTemplates(1)