excel vba调用其他程序

VB调用其他程序

1 使用Shell函数

Shell的语法:Shell(PathName[,WindowStyle])
PathName为必需参数。类型为String,它指出了要执行的程序名,以及任何需要的参数或命令行变量,也可以包括路径名。
WindowStyle为可选参数。Integer类型,指定在程序运行时窗口的样式。WindowStyle有以下这些值。

常量 描述
VbHide 0 窗口被隐藏,且焦点会移到隐式窗口。
VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。
VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示(缺省值)。
VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。
VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
VbMinimizedNoFocus 6 窗口会以一个图标来显示,而当前活动的窗口仍然保持活动。
Dim ActivePath as String

ActivePath = ActiveWorkbook.Path 
Shell "python " + ActivePath + "\a.py", vbNormalFocus
Shell "cmd.exe /c del 某个文件"

2 使用Wscript.Shell对象调用程序

Wscript.Shell可以调用程序、操作注册表、管理环境变量等。

Dim WshShell As Object
Dim result  As Integer

set WshShell = CreateObject("WScript.Shell")
' 第一个参数要执行的命令,
' 第二个参数是执行窗口显示的设置,默认值为0,即不显示窗口
' 第三个参数是设置是否等待执行返回,默认为False,即不等待返回就往下继续执行。
result = WshShell.Run("python " + ActiveWorkbook.Path + "\main.py", SW_SHOWNA, True)  
' 第二个参数和第三个参数都是默认值,即不显示窗口,也不等待执行结束。
WshShell.Run("cmd.exe /c del " + ActiveWorkbook.Path + "\main.py") 
posted @ 2023-09-28 11:10  下夕阳  阅读(428)  评论(0编辑  收藏  举报