创建编号列表时 VBA Access Word 错误

标签 vba list ms-access ms-word numbered

我有一个 Access 数据库,我从中创建 Word 文档。我正在使用 Office 2016。当我运行代码时,我得到

Error 462 "Remote server machine does not exist or is unavailable"

Error -2147023170 "Error: Automation error, The remote procedure call failed"

Word 关闭。

On Error GoTo Err_CMD_Test

'Open Word document
    Set GBL_objWord = CreateObject("Word.Application")
    GBL_objWord.Visible = True
    GBL_objWord.Activate
    Set GBL_objDoc = GBL_objWord.Documents.Add
    GBL_objDoc.Activate

'Traitement
    GBL_objWord.Selection.TypeText Text:="List of something :"
    GBL_objWord.Selection.TypeParagraph

    GBL_objWord.Selection.TypeText Text:="Number one"
    GBL_objWord.Selection.Range.ListFormat.ApplyListTemplate ListTemplate:=ListGalleries(2).ListTemplates(1), ContinuePreviousList:=True, ApplyTo:=0, DefaultListBehavior:=2
    GBL_objWord.Selection.TypeParagraph
    GBL_objWord.Selection.TypeText Text:="Number two"
    GBL_objWord.Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:=ListGalleries(wdNumberGallery).ListTemplates(1), ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, DefaultListBehavior:=wdWord10ListBehavior


Exit_CMD_Test:
    Exit Sub

Err_CMD_Test:
    Select Case Err.Number
    Case Else
        MsgBox "Erreur : " & Err.Description & vbCrLf & _
               "Numéro : " & Err.Number & vbCrLf & _
               "Procédure : CMD_Test", vbCritical, ""
        Resume Next
    End Select

代码中断于

GBL_objWord.Selection.Range.ListFormat.ApplyListTemplate _
  ListTemplate:=ListGalleries(2).ListTemplates(1), _
  ContinuePreviousList:=True, ApplyTo:=0, DefaultListBehavior:=2

继续

GBL_objWord.Selection.Range.ListFormat.ApplyListTemplateWithLevel _
  ListTemplate:=ListGalleries(wdNumberGallery).ListTemplates(1), _
  ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
  DefaultListBehavior:=wdWord10ListBehavior**"

我使用方法 ApplyListTemplateApplyListTemplateWithLevel只是尝试两者,结果是一样的:一个错误。在第一个我改变了他的变量wdNumberGallery , wdListApplyToWholeList , wdWord10ListBehavior在 MSDN 网站上提供它们的枚举值,以尝试查明错误。

不幸的是,我无法完成这项任务。我正在寻找的是一个包含以下文本的 Word 文档:


某物 list :

  1. 第一名

  2. 第二个

    ...


谢谢大家的帮助

最佳答案

问题来自 Access VBA 在使用后期绑定(bind)时无法识别 ListGalleries。如果 Word.Application 对象完全限定,则代码适用于我:

Set GBL_objWord = CreateObject("Word.Application")
GBL_objWord.Visible = True
GBL_objWord.Activate
Set GBL_objDoc = GBL_objWord.Documents.Add
GBL_objDoc.Activate

'Traitement
GBL_objWord.Selection.TypeText Text:="List of something :"
GBL_objWord.Selection.TypeParagraph

GBL_objWord.Selection.TypeText Text:="Number one"
GBL_objWord.Selection.Range.ListFormat.ApplyListTemplate _
  ListTemplate:=GBL_objWord.ListGalleries(2).ListTemplates(1), _
  ContinuePreviousList:=True, ApplyTo:=0, DefaultListBehavior:=2
GBL_objWord.Selection.TypeParagraph
GBL_objWord.Selection.TypeText Text:="Number two"

关于创建编号列表时 VBA Access Word 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52049411/

相关文章:

c++ - 如何创建指向另一个列表中对象的指针列表?

Python:使用模块或正则表达式从列表中提取列表

Scala - 通过公共(public)元素合并两个元组列表

sql - MS Access 错误 3622 vba

sql - MS ACCESS 数据库分成一个月

vba - 从另一个子调用类型变量

VBA宏检查工作表名称是否存在

vba - 是否可以让输入框需要 5 位数字?

sql - 如何对 MDB 文件运行 SQL 查询?

excel - 如何在vba引用库中查找函数