VB如何调用指定目录下的程序打开一个文件

我想用软件调用一个程序打开某个文件,程序和文件在同一目录下比如我有个程序是a.exe,有个文件是b.kkukku文件只能用a.exe才能打开代码如下shell"app.P... 我想用软件调用一个程序打开某个文件,程序和文件在同一目录下
比如我有个程序是a.exe,有个文件是b.kku
kku文件只能用a.exe才能打开
代码如下
shell "app.Path &"\a.exe" app.path &"\b.kku"" ,vbNormalFocus
我觉得应该是这样写,因为a.exe和b.kku是在同一目录下的(因为是随时移动的,所以用app.path指定
但是老是编译错误,不知道是哪错了
1楼不行,还是错,光标指向第2个app
2楼也不行中间有空格,也能接受参数
我试了下把指定路径写进去却可以
Shell "e:\1\a.exe e:\1\b.kku", vbNormalFocus
这样可以,但是APP却不行
3楼也不行,第1,你给的Function过程提示子函数或过程未定义
第2,我照你那样把路径写进去老是提示语法错误

文件是在一个文件夹没错,都确认好了
展开
 我来答
wqlk1
2009-10-20 · TA获得超过1152个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:358万
展开全部
我试了下楼上的没有问题。如果是a.exe无法打开b.kku的话,楼主可以试下这句:(注意是3个引号)

Shell App.Path & "\a.exe """ & App.Path & "\b.kku""", vbNormalFocus

如果还不行楼主可以自己检测下,
你可以在shell前写上debug.print app.path来检测app.path这个变量到底是什么。
如果还解决不了可以把你的源代码文件发出来大家讨论下。
smh1982
2009-10-20 · TA获得超过843个赞
知道小有建树答主
回答量:1578
采纳率:0%
帮助的人:897万
展开全部
第1,你的a.exe要能接受参数!
然后将要打开的文件b.kku作为a.exe的运行参数启动

你上面的语句基本上是正确的,但可能是由于书写错误:
a.exe后面要跟一个空格,整句不要包含在""中
所以应该是:
shell app.Path & "\a.exe " & app.path & "\b.kku" ,vbNormalFocus

“但是APP却不行”——说明你的当前程序和a.exe不在同文件夹下呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xbin0938
2009-10-20 · TA获得超过108个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:131万
展开全部
1、你的语法错误,app.path不能在引号内
2、无法识别长文件路径,造成的错误
你需要先将路径转成短路径。

函数中的GetShortPathName需要先声明才可以

Private Declare Function GetShortPathName Lib "KERNEL32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

shell CWJM(app.Path &"\a.exe")&" "&CWJM(app.path &"\b.kku") ,vbNormalFocus

Function CWJM(filepath)
Dim strShort As String, fname$, L&, fname2$
fname = filepath
strShort = String(LenB(fname), Chr(0))
L& = GetShortPathName(ByVal fname, ByVal strShort, ByVal Len(strShort))
fname2$ = Left(strShort, InStr(strShort, Chr(0)) - 1)
If fname2 = "" Then
CWJM = fname
Else
CWJM = fname2
End If
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好几碗粥Ry
2009-10-20 · TA获得超过1173个赞
知道大有可为答主
回答量:1118
采纳率:0%
帮助的人:906万
展开全部
你的代码执行不了,是因为少了一个空格,再就是引号加错位置了,按照你指定的路径格式,用app。path写出来应该是这样的:

正确写法:

shell app.Path & "\a.exe " & app.path & "\b.kku" ,vbNormalFocus
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiqieg
2009-10-20 · 超过14用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:32.9万
展开全部
shell app.Path &"\a.exe" app.path &"\b.kku" ,vbNormalFocus
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式