VBA。正在打开文件及其关联的应用程序,其路径存储在变量中
请帮忙 我不知道这为什么不起作用:VBA。正在打开文件及其关联的应用程序,其路径存储在变量中,vba,Vba,请帮忙 我不知道这为什么不起作用: Public Sub OpenFile(ByVal ImagePath As String) Dim WshShell As Object Set WshShell = CreateObject("WScript.Shell") WshShell.Run ImagePath End Sub 我得到一个例外: (&H80070002) 我试图打开一个文件,其路径存储在变量ImagePath中,该变量是一个字符串 情景: I
Public Sub OpenFile(ByVal ImagePath As String)
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run ImagePath
End Sub
我得到一个例外:
(&H80070002)
我试图打开一个文件,其路径存储在变量ImagePath
中,该变量是一个字符串
情景:
- ImagePath=“C:\helloWorld.txt”
文件关联在各自的应用程序中打开。您的代码适用于我,但如果我在路径中使用空格,则会出现相同的错误。若要解决此问题,路径必须以“(例如“C:\youPath”)开头和结尾。请将代码更改为:
Public Sub OpenFile(ByVal ImagePath As String)
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & ImagePath & chr(34)
End Sub
正如我在上面的评论中提到的,当找不到文件时,应该会弹出错误消息 这里有一种方法来测试它
Const ErrNo = &H80070002
Sub Sample()
On Error Resume Next
OpenFile "C:\ImaginaryFile.pdf"
If Err.Number = ErrNo Then
MsgBox "File Not Found"
End If
On Error GoTo 0
End Sub
Public Sub OpenFile(ByVal ImagePath As String)
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run ImagePath
End Sub
您是否在某个地方有一个全局变量,分配给它
“C:\helloWorld.txt“
而不是将其传递到sub?文件是否存在于该路径中?否,我想将该路径作为变量传递。&H80070002
是错误号。您收到的错误消息是什么?。如果我没有错,那么当找不到文件时,应该会弹出错误消息。此代码与另一个使用vba进行脚本编写的应用程序集成。我不会用空格出现此错误。。在路径或文件名中。。。