在VBA中打开Excel文件:运行时错误“462”:远程服务器计算机不存在或不可访问

我需要创build一个打开Excel文件的macros,并在Workbook中保存一些文件。 问题是,当我想在短时间内运行超过一次的macros(不幸的是我真的需要这样做),我收到错误'462':远程服务器机器不存在或不可访问。

我读了这个,并试图解决它:我开始创build特殊的模块,以杀死Excel进程:

Call KillExcel Function KillExcel() Dim oServ As Object Dim cProc As Variant Dim oProc As Object Set oServ = GetObject("winmgmts:") Set cProc = oServ.ExecQuery("Select * from Win32_Process") For Each oProc In cProc 'Rename EXCEL.EXE in the line below with the process that you need to Terminate. 'NOTE: It is 'case sensitive If oProc.Name = "EXCEL.EXE" Or oProc.Name = "EXCEL.EXE *32" Then ' MsgBox "KILL" ' used to display a message for testing pur errReturnCode = oProc.Terminate() End If Next End Function 

但不幸的是,即使我closures这个过程,我仍然收到这个错误。 我使用Excel的代码部分如下所示:

 Dim ark As Excel.Workbook Dim xlSheet As Excel.Worksheet Set ark = Excel.Workbooks.Open(FileName:=scexcel) Set xlSheet = ark.Worksheets("Sheet1") a = Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row + 1 Cells(a, 2).Value = "ABC" Cells(a, 3).Value = "DEF" Cells(a, 4).Value = "GHI" Cells(a, 5).Value = "JKL" a = a + 1 Set xlSheet = Nothing ark.Close SaveChanges:=True Set ark = Nothing 

如果它可以帮助你,那么每次(当我在短时间内运行它多次)macros观崩溃在线:

 Set ark = Excel.Workbooks.Open(FileName:=scexcel) 

scexcel是我的电脑在Excel文件的path。 你能帮我解决这个问题吗?

这应该为你工作(确保你杀掉任何隐藏的Excel.exe实例先前的代码遗留下来):

 Dim ark As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim a As Long Set ark = GetObject(scexcel) ark.Application.Visible = True Set xlSheet = ark.Worksheets("Sheet1") With xlSheet a = .Range("B" & .Rows.Count).End(xlUp).Row + 1 .Cells(a, 2).Value = "ABC" .Cells(a, 3).Value = "DEF" .Cells(a, 4).Value = "GHI" .Cells(a, 5).Value = "JKL" End With Set xlSheet = Nothing ark.Close SaveChanges:=True Set ark = Nothing