运行时错误'462'

时间:2018-06-20 04:18:19

标签: excel vba excel-vba ms-word

我正在尝试从excel运行一个宏,该宏将打开一个现有的word文档,通过内容控件填充excel到word的字段,然后将表格粘贴/格式化到特定位置的word文档中。大约有20%的时间,我将收到此运行时错误462,指出“远程服务器计算机不存在或不可用”。我将提供代码和通常会卡住的部分,因为所有内容在100%的时间内都有效。请对此提供帮助。

Public Sub Agreement()
    With Sheets("Price List Table")
        .ListObjects(1).Name = "Table1"
    End With

    Dim tbl As Excel.Range    
    Dim wrdApp    
    Dim wrdDoc       
    Dim WordTable As Word.Table       
    Dim c As Integer

    Set tbl = ThisWorkbook.Worksheets(Sheet2.Name).ListObjects("Table1").Range    
    Set wrdApp = CreateObject("Word.Application")

    wrdApp.Visible = False

    Set wrdDoc = wrdApp.Documents.Open("C:\Users\Documents\Example")       
    With wrdDoc       
        tbl.Copy    
        wrdApp.Selection.Find.Text = "This is the section for the table to be pasted below it."    
        wrdApp.Selection.Find.Execute   
        wrdApp.Selection.MoveDown Unit:=wdLine, Count:=5, Extend:=wdMove    
        wrdApp.Selection.PasteExcelTable False, False, False

        Dim objTable As Object    
        For Each objTable In ActiveDocument.Tables ' (This is where the error occurs)
            objTable.AutoFitBehavior (wdAutoFitWindow)
            objTable.AllowAutoFit = True
        Next

        wrdApp.Selection.GoTo wdGoToPage, wdGoToAbsolute, 1
        wrdApp.Selection.GoTo What:=wdGoToTable, Which:=GoToNext
        wrdApp.Selection.GoTo What:=wdGoToTable, Which:=GoToNext
        wrdApp.Selection.GoTo What:=wdGoToTable, Which:=GoToNext
        wrdApp.Selection.Tables(1).Select

        With wrdApp.Selection.Borders(wdBorderTop)
            .LineStyle = Options.DefaultBorderLineStyle
            .LineWidth = Options.DefaultBorderLineWidth
            .Color = Options.DefaultBorderColor
        End With
        With wrdApp.Selection.Borders(wdBorderLeft)
            .LineStyle = Options.DefaultBorderLineStyle
            .LineWidth = Options.DefaultBorderLineWidth
            .Color = Options.DefaultBorderColor
        End With
        With wrdApp.Selection.Borders(wdBorderBottom)
            .LineStyle = Options.DefaultBorderLineStyle
            .LineWidth = Options.DefaultBorderLineWidth
            .Color = Options.DefaultBorderColor
        End With
        With wrdApp.Selection.Borders(wdBorderRight)
            .LineStyle = Options.DefaultBorderLineStyle
            .LineWidth = Options.DefaultBorderLineWidth
            .Color = Options.DefaultBorderColor
        End With
        With wrdApp.Selection.Borders(wdBorderHorizontal)
            .LineStyle = Options.DefaultBorderLineStyle
            .LineWidth = Options.DefaultBorderLineWidth
            .Color = Options.DefaultBorderColor
        End With
        With wrdApp.Selection.Borders(wdBorderVertical)
            .LineStyle = Options.DefaultBorderLineStyle
            .LineWidth = Options.DefaultBorderLineWidth
            .Color = Options.DefaultBorderColor
        End With

        wrdApp.Selection.Tables(1).Columns(3).Select
        wrdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
        wrdApp.Selection.Tables(1).Columns(4).Select
        wrdApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight

0 个答案:

没有答案