API函数很强大,但是声明的时候比较繁琐。

我开发的封装库,包括窗口、键盘、鼠标、消息等常用功能。用户不需要添加API函数的声明,就可以用到API的功能。

在VBA、VB6的引用对话框中引用API.tlb文件,就可以用到其中的函数和方法,在VB.Net或C#项目中引用API.dll。

通过对象浏览器,可以看到每个类别的函数和方法列表:

python执行vb脚本 python vb6_VBA

而且还有Spy、放大镜、APIViewer等开发工具。

python执行vb脚本 python vb6_VBA_02

API封装库的下载:

下载压缩包后,参考下图进行快速安装和使用:

python执行vb脚本 python vb6_API_03


其中,VBA VB6 VB.Net C#通过“引用”对话框可以把API函数库引入到项目中。

下面分别讲解在VBS,Python,PowerShell中调用API函数库的方法。

VBS

VBS在记事本里编辑,通过CreateObject后期创建对象,例如:

python执行vb脚本 python vb6_API_04

Python

需要用pip install pythonnet安装clr模块。然后在py文件中输入如下内容:

importclr
clr.FindAssembly("C:\Program Files\API\API.dll")
clr.AddReference("API")importAPIif __name__ == '__main__':
IOther=API.Other()
IWindow=API.Window()
IOther.Delay(3000)
hExcel= IWindow.FindWindow("xlmain",None)
IOther.About(hExcel,"API","Ryueifu")print(hExcel)

提前打开Excel,然后运行上述py程序,会在Excel窗口中弹出一个关于对话框。说明调用API成功

python执行vb脚本 python vb6_vb6调用python_05

PowerShell
PowerShell可以调用.NET语言生成的dll,当然可以调用API.dll。
在PowerShell脚本文件中输入如下4行代码:
[void][System.Reflection.Assembly]::LoadFile("C:\Program Files\API\API.dll")
$IWindow=New-Object API.Window
$hNotepad=$IWindow.FindWindow("Notepad","201909PS.txt - Notepad")
Write-Host $hNotepad

提前打开一个记事本,然后运行上述脚本,在控制台窗口可以看到记事本的句柄。

python执行vb脚本 python vb6_vb6调用python_06