Excel 2010 VBA运行时错误462:远程服务器计算机不存在或不可用

时间:2016-04-22 14:14:36

标签: vba excel-vba macros excel

我正在从Excel写入Word文档,如果宏第一次运行完成并且所有Word应用程序都关闭并且宏重新运行,我将收到462错误。我阅读了大量有关不合格引用的Microsoft信息。我无法弄清楚这一行会发生什么导致错误,所以我希望有人能够找到它。

声明

Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim i As Integer
Dim titleCount As Long
Dim Count3, Count4, Count5, endCount3, endCount4, endCount5 As Long
Dim QLRVar As New Scripting.Dictionary
Dim IsOffice2013 As Boolean: IsOffice2013 = False
Dim IsOffice2010 As Boolean: IsOffice2010 = False

如何打开/调用Word文档

On Error Resume Next
Set wrdApp = GetObject(Class:="Word.Application")
On Error GoTo 0
If wrdApp Is Nothing Then
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Add
Else:
    wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Add
End If

带有错误的部分

With wrdApp.ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1)
    .NumberFormat = "%1. "
    .TrailingCharacter = wdTrailingTab
    .NumberStyle = wdListNumberStyleArabic
    .NumberPosition = InchesToPoints(0)
    .Alignment = wdListLevelAlignLeft
    .TextPosition = InchesToPoints(0)
    .TabPosition = wdUndefined
    .ResetOnHigher = 0
    .StartAt = 1
    .LinkedStyle = "Heading 0"
End With

错误在.NumberPosition行上。

宏非常大,所以我发布了我认为相关的部分,但如果需要,我会添加更多。

1 个答案:

答案 0 :(得分:0)

Microsoft表示您必须完全符合每个参考资格,请参阅: documentation

我已将这些引用添加为“Word”。在您的代码下面添加:

With wrdApp.ListGalleries(Word.wdOutlineNumberGallery).ListTemplates(1).ListLevels(1)
    .NumberFormat = "%1. "
    .TrailingCharacter = Word.wdTrailingTab
    .NumberStyle = Word.wdListNumberStyleArabic
    .NumberPosition = Word.InchesToPoints(0)
    .Alignment = Word.wdListLevelAlignLeft
    .TextPosition = Word.InchesToPoints(0)
    .TabPosition = Word.wdUndefined
    .ResetOnHigher = 0
    .StartAt = 1
    .LinkedStyle = "Heading 0"
End With

我不记得InchesToPoints()是否是Word函数,但我猜对了。我希望你明白这一点。

检查其余代码。任何非限定引用都可能触发此错误。检查每个引用的库(例如Outlook,Excel,ADODB等)

祝你好运。这个错误在大型代码块中是一个野兽。我不知道找到一个我总是想念的参考文献的方法。如果有人知道,请分享。

让我们都知道你是怎么做出来的。我们都需要分享哪些有效,哪些无效。