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 函数之后的语句。

vba传值调用_Access VBA如何使用Shell命令以及如何传递参数相关推荐

  1. vba传值调用_VBA传递参数步骤

    到目前为止,你已经创建了简单的可以执行具体任务的VBA过程,这些过程在它们运行前没有要求你提供额外的数据.然而,在现实生活中,过程(子程序和函数)经常需要参数.参数(自变量)是过程工作时需要的一个或多 ...

  2. vba传值调用_小白关于VBA调用Sub传递参数之传值与传址的思考

    故事一: 从前,森林里有三个小房子,一个红房子,一个黄房子,一个蓝房子. 红房子里面放了一个苹果,黄房子里面放了两个苹果,蓝房子里面放了三个苹果. 有一天,外面来了三个小精灵,一个叫红精灵,一个叫黄精 ...

  3. vba传值调用_VBA 过程和函数:传递参数教程和实例

    VBA 中,调用子过程或函数时,我们可以为它们传递参数.提供的参数可以在子过程或函数内部使用,让程序更动态和灵活.传递参数的前提是,先在子过程或函数定义阶段设置参数,后在调用时按正确的方式提供实际参数 ...

  4. vba传值调用_vba中OnAction属性指定宏名时如何传递参数?

    在vba中可以设置图形对象,菜单命令按钮的OnAction属性为指定的过程名,当单击图形对象或者菜单命令按钮时运行具体的代码. 如下所示的代码将在单元格鼠标右键快捷菜单中新建一个名为"计算两 ...

  5. linux怎么用两个进程传值,linux下的C开发14,可执行程序如何传递参数?模拟shell执行命令...

    上一节介绍了 linux 中的文件类型,并在文章最后使用 C语言编写了程序,该程序能够接受一个文件名参数,并打印出该文件的类型.不知道大家如何,反正我当初学编程时,发现(编译后的)可执行程序居然也能像 ...

  6. linux shell命令行选项与参数用法详解

    问题描述:在linux shell中如何处理tail -n 10 access.log这样的命令行选项? 在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景. 1,直接处理, ...

  7. vba传值调用_vba – 动态调用从形状OnAction属性传递参数的宏

    您可以为OnAction分配一个字符串,该字符串包含要调用的子句及其参数(请注意整个字符串用单引号括起来) 喜欢: Shape.OnAction = "'SubToCallOnAction ...

  8. access vba表字段_ACCESS VBA编程(使用技巧大全)[].doc

    ACCESS VBA编程(使用技巧大全)[].doc ACCESS VBA编程(使用技巧大全)[1] ACCESS-VBA编程 ACCESS-VBA编程. 控件: 常量控件 acBoundObject ...

  9. java调用远程主机shell_Java 执行远程主机shell命令代码

    packagecom.gosun.utils;importch.ethz.ssh2.ChannelCondition;importch.ethz.ssh2.Connection;importch.et ...

最新文章

  1. 损失函数代价函数成本函数目标函数的区别
  2. 6、用户登录并发、新建以及编辑操作;
  3. 实现runable接口创建线程
  4. 介绍一个国外的分类网站Egouz
  5. Windows on Device 项目实践 4 - 智能风扇制作
  6. FTL(FreeMarker)基础
  7. java输入输出高速
  8. Oracle底子根基数据圭臬尺度存储格式浅析(三)——日期圭臬尺度(四)
  9. 使用fileupload实现文件上传
  10. 瑞星杀毒软件linux序列号,瑞星杀毒软件2007光盘零售版是面向 Linux的?
  11. OPNsense用户手册-初始安装和配置
  12. 想留长发没那么难,30个让头发快速生长的秘诀~
  13. 如何申请Xilinx的评估IP
  14. Mac IDEA 顶部的菜单栏不见了
  15. Apple iPhone 8G手机误升级至2.0降级破解日记
  16. C++中使用辅助函数寻找最大/最小值:min()、max()、minmax()
  17. k8s 配置 Secret 集成Harbor
  18. 数学分析_Tom M.Apostol 定理7.6 用阿贝尔变换证明Riemann-Stieltjes积分的分部积分公式...
  19. simulink实现他励直流电动机减弱磁通调速仿真
  20. String转JSON

热门文章

  1. C#使用 System.Net.Mail发送邮件功能
  2. 程序员基本功03常见JAVA集合的实现细节
  3. win10家庭版远程桌面连接出现问题
  4. wdcp查看mysql日志_查看修改服务器中的WDCP数据库操作记录
  5. 暴力破解(初级)以及弱口令工具的使用
  6. 渗透测试小马(一句话)篇
  7. matlab 自再现模,平行平面腔自再现模FoxLi数值迭代解法及MATLAB实现
  8. 脑电图伪差去除matlab,脑电图伪差的识别方法.ppt
  9. mysql 查看锁_MySQL反应慢的排查思路
  10. Android开发之android4.4沉浸式状态栏后toolbar和状态栏重复(重叠,覆盖)的bug