Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBA中打开Excel文件:运行时错误‘;462’;:远程服务器计算机不存在或不可用_Excel_Vba - Fatal编程技术网

在VBA中打开Excel文件:运行时错误‘;462’;:远程服务器计算机不存在或不可用

在VBA中打开Excel文件:运行时错误‘;462’;:远程服务器计算机不存在或不可用,excel,vba,Excel,Vba,我需要创建一个宏来打开Excel文件,并在工作簿中保存一些文件。问题是,当我想在短时间内多次运行宏(不幸的是我需要这样做)时,我收到错误“462”:远程服务器计算机不存在或不可用 我已经读过这篇文章并试图解决它:我在开始时创建了一个特殊模块来终止Excel进程: Call KillExcel Function KillExcel() Dim oServ As Object Dim cProc As Variant Dim oProc As Object Set oServ = GetObj

我需要创建一个宏来打开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实例):


是否在Excel中运行此代码?否,在Outlook中。对不起,我忘了提。那就是问题所在。您没有创建
Excel.Application
对象,也没有正确地限定任何Excel对象。很抱歉,我没有检查足够长的时间,但我发现,不幸的是,即使宏工作正常(没有错误),我也无法打开Excel文件-打开Excel后没有工作簿-只有灰色背景。您知道如何修复它吗?我对代码做了一个小的更改,应该可以修复它,但首先您需要使用“查看-取消隐藏”菜单使工作簿可见,然后保存它。
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