shell打开指定文件的问题

2024-11-22 00:20:57
推荐回答(4个)
回答1:

xxx.mp3是在根目录下的吧?
VB6有个现象就是dir.path在一般子目录下后面不带"\",要手工加"\",而在根目录下是带"\",比如返回"F:\",再加"\"就变成"F:\\"接着就报文件不存在了。

我用一个全局函数,凡是要用到的都处理一下。
Public Function StdDir(sInputPath As String) As String
If Right(sInputPath, 1) <> "\" Then
StdDir = sInputPath & "\"
Else
StdDir = sInputPath
End If
End Function

然后OpenPath = StrDir(Dir1.Path) + "XXX.mp3"

在.net下面"\"该用Path.PathSeparator代替,可以解决日文系统等用"¥"作分隔符的。而Path类有专门的方法可以组合路径而不用考虑加不加"\"

回答2:

1.OpenPath = Dir1.Path + " \ " + XXX.mp3 这行应该是:
OpenPath = Dir1.Path + "\XXX.mp3"

2.RetVal=Shell( "E:\XXXX.exe " & space(1) & OpenPath,1) 可写成:
RetVal=Shell( "E:\XXXX.exe " & OpenPath,1)

回答3:

Shell( "E:\XXXX.exe " & space(1) & OpenPath,1)
你的意思是打开E:\XXXX.exe而不是OpenPath里的Dir1.Path + " \ " + XXX.mp3 ,你制定了2个打开路径,所以意思是:打开E:\XXXX.exe Dir1.Path + " \ " + XXX.mp3,文件路径不合理!
OpenPath = Dir1.Path + "\XXX.mp3" 才对,XXX.mp3必须在""里。
& space(1) &没必要。

回答4:

OpenPath = Dir1.Path + " \ " + "XXX.mp3"

你在shell之前,debugprint一下OpenPath变量吧.确认文件中是正确的.