Access VBA如何使用Shell命令以及如何传递参数
- 2017-08-09 22:09:00
- zstmtony 原创
- 7019
Access要调用第三方的Exe 执行程序,就需要用到Shell函数,那Access VBA如何 调用Shell 函数呢
使用非常简单
Shell "要执行命令的路径"
例如要打开微软Word文档处理,可以使用如下的命令:
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE "
但如何传递更多的参数呢,如打开Word时,同时打开相就能的Doc文件呢?
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & "c:\TmTony\testShell.doc"
更多示例代码:
1. 打开记事本
Private Sub Command1_Click()
Shell "Notepad E:\VB练习\添加DTPicker控件.txt ", vbNormalFocus
End Sub
注:NotePad后有空格
2. 打开QQ登陆界面
Private Sub Command2_Click()
Shell "D:\Program Files\Tencent\QQ2009\Bin\qq.exe", vbNormalFocus
End Sub
3. 打开Word文档
Private Sub Command3_Click(Index As Integer)
Dim strDir As String
strDir = "E:\VB练习\Test.doc"
Select Case Index
Case 0
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbHide
Case 1
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbNormalFocus
Case 2
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbMinimizedNoFocus
Case 3
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbNormalNoFocus
Case 4
Shell "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE " & strDir, vbMaximizedFocus
End Select
End Sub
注:C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE之后有空格
Shell 函数 官方详细的相关说明:
执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。
语法
Shell(pathname[,windowstyle])
Shell 函数的语法含有下面这些命名参数:
部分 描述
pathname 必要参数。Variant (String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。
Windowstyle 可选参数。Variant (Integer),表示在程序运行时窗口的样式。如果 windowstyle 省略,则程序是以具有焦点的最小化窗口来执行的。
windowstyle 命名参数有以下这些值:
常量 值 描述
vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。
VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。
VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。
VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。
VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。
说明
如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误。
注意 缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。
- office课程播放地址及课程明细
- Excel Word PPT Access VBA等Office技巧学习平台
- 将( .accdb) 文件格式数据库转换为早期版本(.mdb)的文件格式
- 将早期的数据库文件格式(.mdb)转换为 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 数据库引擎和访问连接引擎以阻止对远程数据库的访问(remote table)
- Access 365 /Access 2019 数据库中哪些函数功能和属性被沙箱模式阻止(如未启动宏时)
- Access Runtime(运行时)最全的下载(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些电脑无法正常注册的解决办法(regsvr32注册时卡住)
- office使用部分控件时提示“您没有使用该ActiveX控件许可的问题”的解决方法
- RTF文件(富文本格式)的一些解析
- Access树控件(treeview) 64位Office下出现横向滚动条不会自动定位的解决办法
- Access中国树控件 在win10电脑 节点行间距太小的解决办法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 树控件 ListView列表等64位MSCOMMCTL.OCX控件下载
- VBA或VB6调用WebService(直接Post方式)并解析返回的XML
- 早期PB程序连接Sqlserver出现错误
- MMC 不能打开文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由于文件不存在,不是一个MMC控制台,或者用后来的MMC版
- sql server连接不了的解决办法
- localhost与127.0.0.1区别
- Roych的浅谈数据库开发系列(Sql Server)
- sqlserver 自动备份对备份目录没有存取权限的解决办法
- 安装Sql server 2005 express 和SQLServer2005 Express版企业管理器 SQLServer2005_SSMSEE
联系人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |