首页 > 解决方案 > 当我的代码文件放在名称中有空格的文件夹中时出现运行时错误“-2147024894 (80070002)”

问题描述

当我将代码 Excel 文件放在其中没有任何空间的文件夹/目录中时,命名约定比它工作正常并触发 Web 服务。但是,当我将代码 Excel 文件放在命名约定中有空格的文件夹中时,我收到了运行时错误:

'-2147024894 (80070002)。

请帮忙

Sub InvokShellScript1()

Dim sApp As String
Dim var As Integer

sApp = ThisWorkbook.Path & "\protected\WSInvoke.bat   " & ThisWorkbook.Path & "\protected\Refresh.txt  " & ThisWorkbook.Path

Dim objShell As Object

   Set objShell = CreateObject("WScript.Shell")
   var = objShell.Run(sApp, 0, True)


End Sub

标签: excelvba

解决方案


您需要在路径周围加上引号才能处理空格。尝试以下任何一种:

sApp = Chr$(34) & ThisWorkbook.Path & "\protected\WSInvoke.bat" & Chr$(34) & " " & Chr$(34) & ThisWorkbook.Path & "\protected\Refresh.txt" & Chr $(34) & " " & Chr$(34) & ThisWorkbook.Path & Chr$(34)

或者如果 Chr() 不起作用:

sApp = """" & ThisWorkbook.Path & "\protected\WSInvoke.bat"" """ & ThisWorkbook.Path & "\protected\Refresh.txt"" """ & ThisWorkbook.Path & """"


推荐阅读