![](/img/trans.png)
[英]"Run-time error 462 : The remote server machine does not exist or is unavailable" when running VBA code a second time
[英]Opening Excel file in VBA: Run-time error ‘462’: The remote server machine does not exist or is unavialiable
我需要创建一个宏来打开 Excel 文件,并将一些文件保存在工作簿中。 问题是,当我想在短时间内多次运行宏时(不幸的是我需要这样做),我收到错误“462”:远程服务器机器不存在或不可用。
我已经阅读并尝试修复它:我在开始时创建了一个特殊的模块来终止 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
但不幸的是,即使我关闭此进程,我仍然会收到此错误。 我使用 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
如果有帮助,每次我在行的短时间内多次运行宏时,宏都会失败:
Set ark = Excel.Workbooks.Open(FileName:=scexcel)
注意scexcel
是 Excel 文件的路径。
你能帮我解决这个问题吗?
这应该对你有用(确保你先杀死你以前的代码遗留的任何隐藏的 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.