VB 获取文件绝对路径

我要指定一个程序打开某个文件,如果文件用绝对路径的话可以打开,但如果用相对路径就没法打开,像这样:Shell"app.exec:\绝对路径\文件.flv",vbNorma... 我要指定一个程序打开某个文件,如果文件用绝对路径的话可以打开,但如果用相对路径就没法打开,像这样:
Shell "app.exe c:\绝对路径\文件.flv", vbNormalFocus 【这样能打开】
Shell "app.exe 文件.flv", vbNormalFocus 【这样打不开】

因为程序要在不同电脑用,必须得使用相对路径,如何转换?
展开
 我来答
满以柳J7
推荐于2017-12-16 · TA获得超过539个赞
知道小有建树答主
回答量:545
采纳率:66%
帮助的人:551万
展开全部
你可以将应用程序及需要的参数文件放在同一个目录下,这样你就是移动到别的电脑上也是一样可以执行的.
如:
...\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 你是指的什么应用程序?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
unsamesky
2013-11-09 · TA获得超过2735个赞
知道小有建树答主
回答量:859
采纳率:100%
帮助的人:434万
展开全部
可以试试:
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),转义出来的双引号就可以有效的避免,文件夹或者文件名中含有空格而导致的批处理错误!

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甫温纶0gH698
2013-11-09 · TA获得超过363个赞
知道小有建树答主
回答量:354
采纳率:100%
帮助的人:324万
展开全部
sPath = "app.exe c:\绝对路径\文件.flv"
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式