dim fso
name=inputbox("请输入文件名","运行")
set fso = CreateObject("scripting.filesystemobject")
if fso.FileExists(name) then
set shell = CreateObject("Wscript.shell")
shell.run name
else
msgbox"文件不存在",65,"系统提示"
end if
set name=nothing
set fso=nothing
程序运行前,先判断文件是否存在!
notepad在系统环境中,所以不要路径,其他文件要全路径的。
呵呵,这个可以搞定你的要求了!
有一个函数:WinExec声明:
Private Declare Function WinExec Lib "kernel32" Alias "WinExec" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
---------------------------
lpCmdLine 保存程序的绝对路径。
nCmdShow 保存程序的启动方式。
启动方式参数:
sw_hide:隐藏窗口
sw_maximze:最大化窗口
sw_minimze:最小化窗口
sw_restore:使用原始大小及位置显示窗口,并进入活动状态
sw_show:使用当前大小及位置显示,并进入活动状态
sw_showmaximized:最大化,激活
sw_showminimized:最小化,激活
sw_showminnoactive:最小化一个窗口,并不改变活动窗口
sw_showna:使用当前大小及位置显示,不改变活动窗口
sw_shownoactive:用最近的大小及位置显示,不改变活动窗口
sw_shownormal:与sw_restore相同
'定义常量
Private Const sw_hide = 0
Private Const sw_maximze = 3
Private Const sw_minimze = 6
Private Const sw_restore = 9
Private Const sw_show = 5
Private Const sw_showmaximized = 3
Private Const sw_showminimized = 2
Private Const sw_showminnoactive = 7
Private Const sw_showna = 8
Private Const sw_shownoactive = 4
Private Const sw_shownormal = 1
'定义常量
程序过程(假设Command1的单击事件)
Private Sub Command1_Click()
Call WinExec( Label1.Caption , SW_RESTORE)
End Sub
================================================
如果你想用shell打开你指向的文件则需要将Label1.Caption作为shell的参数整合到lpCmdLine中
比如:
Dim GoRun As string
GoRun = "shell地址" &" " &Label1.Caption
Call WinExce(GoRun,SW_RESTORE)
++++++++++++++++++++++++++++++++++
我对你所说的shell方法并不很理解,不知道能不能帮上你。
使用Shell函数函数。
Shell函数是VB中的内部函数,它负责执行一个可执行文件,返回一个Variant(Double),如果成功的话,代表这个程序的进程ID,若不成功,则会返回0。
Shell的语法:Shell(PathName[,WindowStyle])。
PathName 为必需参数。类型为String,它指出了要执行的程序名,以及任何需要的参数或命令行变量,也可以包括路径名。
WindowStyle为可选参数。Integer类型,指定在程序运行时窗口的样式。WindowStyle有以下这些值。
示例,打开当前程序所在目录下的TEMP.EXE文件:
Dim a As Integer
a = Shell(App.Path &"\TEMP.EXE")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)