VB 获取文件绝对路径
我要指定一个程序打开某个文件,如果文件用绝对路径的话可以打开,但如果用相对路径就没法打开,像这样:Shell"app.exec:\绝对路径\文件.flv",vbNorma...
我要指定一个程序打开某个文件,如果文件用绝对路径的话可以打开,但如果用相对路径就没法打开,像这样:
Shell "app.exe c:\绝对路径\文件.flv", vbNormalFocus 【这样能打开】
Shell "app.exe 文件.flv", vbNormalFocus 【这样打不开】
因为程序要在不同电脑用,必须得使用相对路径,如何转换? 展开
Shell "app.exe c:\绝对路径\文件.flv", vbNormalFocus 【这样能打开】
Shell "app.exe 文件.flv", vbNormalFocus 【这样打不开】
因为程序要在不同电脑用,必须得使用相对路径,如何转换? 展开
展开全部
你可以将应用程序及需要的参数文件放在同一个目录下,这样你就是移动到别的电脑上也是一样可以执行的.
如:
...\app.exe
...\文件.flv
先取得参数文件的路径
Dim curFile as string
curFile=App.Path + "\文件.flv"
...
curFile="app.exe "+curFile '转换为一字符串,注意 app.exe 后面的空格!
然后再执行你的 Shell curFile,vbNormalFocus
如:
...\app.exe
...\文件.flv
先取得参数文件的路径
Dim curFile as string
curFile=App.Path + "\文件.flv"
...
curFile="app.exe "+curFile '转换为一字符串,注意 app.exe 后面的空格!
然后再执行你的 Shell curFile,vbNormalFocus
更多追问追答
追问
是放在同一个文件夹里;
你提供的这个代码具体怎么写?我昨天刚摸VB,不太明白
追答
比如,你的窗体上放置了一个按纽,名为 Command1,你双击该按纽,就到了其Click() 事件了.按下面写就可以了
Private Sub Command1_Click()
Dim curFile as string
curFile=App.Path + "\文件.flv"
curFile="app.exe "+curFile '转换为一字符串,注意 app.exe 后面的空格!
Shell curFile,vbNormalFocus '然后再执行你程序
End Sub
就是这里的 App.exe 你是指的什么应用程序?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以试试:
Shell "app.exe " & app.Path & "\文件.flv", vbNormalFocus
友情提示:Shell在操作文件路径的时候,如果路径中或者文件名中包含空格,需要利用Chr(34)对路径进行在处理!!
测试不通过的话再留言!!
Shell "app.exe " & app.Path & "\文件.flv", vbNormalFocus
友情提示:Shell在操作文件路径的时候,如果路径中或者文件名中包含空格,需要利用Chr(34)对路径进行在处理!!
测试不通过的话再留言!!
更多追问追答
追问
我之前就是这么写的,但是不行,不过刚才我又试了一次,发现竟然可以了!很奇怪,不知道怎么回事。
另外,这样的话如果遇到路径有空格,就不行~能解决吗?
追答
遇到空格当然可以解决,上面我也提示过你,如果包含空格会比较麻烦,解决办法就是利用Chr(34)将双引号转义出来,通过Chr(34)转义出来的双引号从而获得一个包含有空格的字符串,这个字符串就可以在Shell中编译通过了。方法如下:
Shell "app.exe " & Chr(34) & app.Path & "\文件.flv" & Chr(34), vbNormalFocus
在路径前后各加一个Chr(34),转义出来的双引号就可以有效的避免,文件夹或者文件名中含有空格而导致的批处理错误!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sPath = "app.exe c:\绝对路径\文件.flv"
If Left(Mid(sPath, 10), 2) = ":\" Then Shell sPath
这样检测路径比较精确,检测.exe空格后2个字符,如果是":\"就会执行Shell语句
If Left(Mid(sPath, 10), 2) = ":\" Then Shell sPath
这样检测路径比较精确,检测.exe空格后2个字符,如果是":\"就会执行Shell语句
更多追问追答
追问
你可能没看明白
追答
pathName = "文件.flv"
If Mid(pathName, 2, 1) ":" Then pathName = App.Path & "\" & pathName
Shell "app.exe " & pathName,vbNormalFocus
那这样行吗,判断第二个文件的路径,如果不是相对路径会自动在前面填写当前程序的路径(App.Path)
如果2个程序都在你编写的程序目录下,就用
Shell App.Path & "\app.exe " & App.Path & "\绝对路径\文件.flv" ,vbNormalFocus
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询