如何在excel中使用VBA调用其它外部程序

如何在excel中使用VBA调用其它外部程序,第1张

使用shell语句,例子:

Sub RAR()

    Shell "C:\Program Files\WinRAR\WinRAR.exe", vbNormalFocus

End Sub

使用shell函数即可。

shell函数用法:Shell(pathname[,windowstyle])

函数带有两个参数:第一个pathname是必要参数。要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。第二个Windowstyle是可选参数。表示在程序运行时窗口的样式。如果省略,则程序是以具有焦点的最小化窗口来执行的。

第二参数Windowstyle 参数设置不同的值,打开的程序有不同的效果,其对应关系如下:

0——窗口被隐藏,且焦点会移到隐式窗口

1——窗口具有焦点,且会还原到它原来的大小和位置。

2——窗口会以一个具有焦点的图标来显示。

3——窗口是一个具有焦点的最大化窗口。

4——窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。

6——窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。

举例——假定用VBA来打开计算器程序,并使计算器窗口具有焦点,且还原到它原来的大小和位置,代码如下:

Sub VBA调用其他程序示例()

Shell "calc.exe", 1

End Sub

说明:

1、Shell函数具有返回值,如果打开程序成功的话,返回代表这个程序的任务ID,若不成功,则会返回0,示例中不需用它的返回值,按VBA规则就不能用括号。

2、这里打开的是系统文件夹里面的程序,所以省略了路径,如果打开其他文件夹的程序,则需要指明路径。

Shell "yourPath\BarTender.EXE", vbNormalFocus

'yourPath是exe的绝对路径

'以上是打开BarTender.EXE的命令

接下来还要自动打印就比较麻烦,如果你对命令行比较熟练那可以继续往下看,如果不是那就请到这里吧,打开D:\TM.BTW之后请人手 *** 作打印吧。

后面我不知道BarTender.EXE是具体怎么 *** 作。。。所以大概可以这样:

一般具备打印功能的exe文件,需要打开文件(条码文件),大概在file - open 里面,然后打印是file-print(一般快捷键ctrl+p)

那么就简单了,打开了BarTender.EXE之后,接着发送键盘指令

alt - down - enter - 输入“D:\TM.BTW” - enter - alt - down - p - enter


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12019748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存