Dim ABBword As New Word.Application
ABBword.Documents.Add
                 ''加表格   1
                 
       ABBword.ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:= _
                 2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                 wdAutoFitFixed
             With Selection.Tables(1)
                 If .Style <> "网格型" Then
                     .Style = "网格型"
                 End If
                 .ApplyStyleHeadingRows = True
                 .ApplyStyleLastRow = True
                 .ApplyStyleFirstColumn = True
                 .ApplyStyleLastColumn = True
             End With
             '''''设置边框             
             Selection.Tables(1).Select
             With Selection.Tables(1)
                 With .Borders(wdBorderLeft)
                     .LineStyle = wdLineStyleTriple
                     .LineWidth = wdLineWidth050pt
                     .Color = wdColorAutomatic
                 End With
                 With .Borders(wdBorderRight)
                     .LineStyle = wdLineStyleTriple
                     .LineWidth = wdLineWidth050pt
                     .Color = wdColorAutomatic
                 End With
                 With .Borders(wdBorderTop)
                     .LineStyle = wdLineStyleTriple
                     .LineWidth = wdLineWidth050pt
                     .Color = wdColorAutomatic
                 End With
                 With .Borders(wdBorderBottom)
                     .LineStyle = wdLineStyleTriple
                     .LineWidth = wdLineWidth050pt
                     .Color = wdColorAutomatic
                 End With
                 With .Borders(wdBorderVertical)
                     .LineStyle = wdLineStyleTriple
                     .LineWidth = wdLineWidth050pt
                     .Color = wdColorAutomatic
                 End With
                 .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
                 .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
                 .Borders.Shadow = False
             End With
             
             With Options
                 .DefaultBorderLineStyle = wdLineStyleTriple
                 .DefaultBorderLineWidth = wdLineWidth050pt
                 .DefaultBorderColor = wdColorAutomatic
             End With
               ''单元格大小设置
             Selection.Tables(1).Select
             Selection.Rows.HeightRule = wdRowHeightAtLeast
             Selection.Rows.Height = CentimetersToPoints(1.76)
             Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
             Selection.Columns.PreferredWidth = CentimetersToPoints(1.76)
             Selection.Collapse Direction:=wdCollapseStart
             Selection.Move Unit:=wdColumn, Count:=-1
             Selection.SelectColumn
             Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
             Selection.Columns.PreferredWidth = CentimetersToPoints(14)
             Selection.Move Unit:=wdColumn, Count:=1
             Selection.SelectColumn
             Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
             Selection.Columns.PreferredWidth = CentimetersToPoints(4.8)
                          
             Selection.Tables(1).Select
             Selection.Font.Size = 20
             Selection.MoveLeft Unit:=wdCharacter, Count:=1
             Selection.TypeText Text:=ABBHand1
             Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
             Selection.TypeParagraph
             Selection.TypeText Text:="ppppp"
             Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
             Selection.MoveRight Unit:=wdCharacter, Count:=1
             Selection.Font.Size = 12
              Selection.TypeText Text:="ooooo"
             Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
             '将Word的存盘路径改为VB程序所在的目录
             ABBword.ChangeFileOpenDirectory (App.Path & "\ABB_doc\")
              '保存文档
             ABBword.ActiveDocument.SaveAs FileName:="ABB_Sa_" & CStr(i) & ".doc", FileFormat:=wdFormateDocumenr, LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False             
             '关闭文档
             ABBword.ActiveDocument.Close SaveChanges:=wdDoNotSaveChange
             
             '关闭Word应用程序
             ABBword.Application.Quit
             'ABBword.Quit    
    '清除对象变量的值
    Set ABBword = Nothing程序执行完后生成一个word文件,但是第二次执行是就出错了,提示为:实是错误“462”,远程服务器不存在或不能使用。
请各位大侠指点哦,,,             

解决方案 »

  1.   

    不要用 Dim ... As New,分成两句
      

  2.   

    建议找个好例子看看。
    google "VB Word.Application"
      

  3.   

    是不是第二次执行的时候,上一次的Word.Application还没有完全释放?
    比如说第二次执行的时候,在进程中还能看到Word的进程存在。
      

  4.   

    试了一下楼主的代码,原因应该就是Word进程无法释放。在使用Selection或其他word对象前,需要加上当前Application的名字,否则Word进程释放不掉。
    在Selection、Options和CentimetersToPoints之前都加上ABBword就可以了,代码如下:    Dim ABBword As New Word.Application
        ABBword.Documents.Add
                    
        ABBword.ActiveDocument.Tables.Add Range:=ABBword.Selection.Range, NumRows:=1, NumColumns:= _
                  2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed
        With ABBword.Selection.Tables(1)
            If .Style <> "网格型" Then
                .Style = "网格型"
            End If
            .ApplyStyleHeadingRows = True
            .ApplyStyleLastRow = True
            .ApplyStyleFirstColumn = True
            .ApplyStyleLastColumn = True
        End With    ABBword.Selection.Tables(1).Select
        With ABBword.Selection.Tables(1)
            With .Borders(wdBorderLeft)
                .LineStyle = wdLineStyleTriple
                .LineWidth = wdLineWidth050pt
                .Color = wdColorAutomatic
            End With
            With .Borders(wdBorderRight)
                .LineStyle = wdLineStyleTriple
                .LineWidth = wdLineWidth050pt
                .Color = wdColorAutomatic
            End With
            With .Borders(wdBorderTop)
                .LineStyle = wdLineStyleTriple
                .LineWidth = wdLineWidth050pt
                .Color = wdColorAutomatic
            End With
            With .Borders(wdBorderBottom)
                .LineStyle = wdLineStyleTriple
                .LineWidth = wdLineWidth050pt
                .Color = wdColorAutomatic
            End With
            With .Borders(wdBorderVertical)
                .LineStyle = wdLineStyleTriple
                .LineWidth = wdLineWidth050pt
                .Color = wdColorAutomatic
            End With
            .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
            .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
            .Borders.Shadow = False
        End With
              
        With ABBword.Options
            .DefaultBorderLineStyle = wdLineStyleTriple
            .DefaultBorderLineWidth = wdLineWidth050pt
            .DefaultBorderColor = wdColorAutomatic
        End With
        ''单元格大小设置
        ABBword.Selection.Tables(1).Select
        ABBword.Selection.Rows.HeightRule = wdRowHeightAtLeast
        ABBword.Selection.Rows.Height = ABBword.CentimetersToPoints(1.76)
        ABBword.Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
        ABBword.Selection.Columns.PreferredWidth = ABBword.CentimetersToPoints(1.76)
        ABBword.Selection.Collapse Direction:=wdCollapseStart
        ABBword.Selection.Move Unit:=wdColumn, Count:=-1
        ABBword.Selection.SelectColumn
        ABBword.Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
        ABBword.Selection.Columns.PreferredWidth = ABBword.CentimetersToPoints(14)
        ABBword.Selection.Move Unit:=wdColumn, Count:=1
        ABBword.Selection.SelectColumn
        ABBword.Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
        ABBword.Selection.Columns.PreferredWidth = ABBword.CentimetersToPoints(4.8)
                           
        ABBword.Selection.Tables(1).Select
        ABBword.Selection.Font.Size = 20
        ABBword.Selection.MoveLeft Unit:=wdCharacter, Count:=1
        ABBword.Selection.TypeText Text:=ABBHand1
        ABBword.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
        ABBword.Selection.TypeParagraph
        ABBword.Selection.TypeText Text:="ppppp"
        ABBword.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
        ABBword.Selection.MoveRight Unit:=wdCharacter, Count:=1
        ABBword.Selection.Font.Size = 12
        ABBword.Selection.TypeText Text:="ooooo"
        ABBword.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter    ABBword.ChangeFileOpenDirectory (App.Path & "\ABB_doc\")    ABBword.ActiveDocument.SaveAs FileName:="ABB_Sa_" & CStr(i) & ".doc", FileFormat:=wdFormateDocumenr, LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False    ABBword.ActiveDocument.Close SaveChanges:=wdDoNotSaveChange    ABBword.Application.Quit
        ABBword.Quit    Set ABBword = Nothing