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

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

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

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

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

API封装库的下载:

API-Setup.zip

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

课件下载:

https://pan.baidu.com/s/12kEHWWEdkSTp_v1i0OIqGA

C#调用范例下载:

https://pan.baidu.com/s/1SMPFQqp1q0RFuYjgimdREg

免费视频课程:

VBA编程使用API实现自动化视频课程(第一季)_共20课时-51CTO学院 http://edu.51cto.com/course/16212.html

VBA编程使用API实现自动化视频课程(第二季)https://edu.51cto.com/course/18992.html

目前,API函数库可以被如下语言调用:

  • VBA
  • VB6
  • VBS
  • VB.NET
  • C#
  • Python
  • PowerShell

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

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

VBS

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

Python

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

import clr
clr.FindAssembly("C:\Program Files\API\API.dll")
clr.AddReference("API")
import API
if __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成功

 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

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

VBA/VB6/VBS/VB.NET/C#/Python/PowerShell都能调用的API封装库的更多相关文章

  1. 通过实例简介python使用ctypes模块调用C语言动态库

    看介绍python语言时,说它是胶水语言,可以调用其他语言.通过使用ctypes模块就可以调用C语言的动态库.下面先放上官方文档和几个比较好的博文. 1.官方文档:http://python.net/ ...

  2. VB、VBA、VBS的区别与联系

      概念 VB Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的.模块化的.面向对象的.包含协助开发环境的事件驱动为机制的可视化程序设计语 ...

  3. VB6与VB.NET对照表

    VB6与VB.NET对照表 VB6.0 VB.NET AddItem Object名.AddItem Object名.Items.Add ListBox1.Items.Add ComboBox1.It ...

  4. 删除重复的feature vba VS 删除重复的feature python

    VBA: Sub deleteDuplicatedFeature() Dim app As IApplication Set app = Application Dim pMxDocument As ...

  5. VBS调用Windows API函数

    Demon's Blog 忘记了,喜欢一个人的感觉 Demon's Blog  »  程序设计  »  VBS调用Windows API函数 « 用VBS修改Windows用户密码 在VB中创建和使用 ...

  6. Python Module_subprocess_子进程(程序调用)

    目录 目录 前言 软件环境 认识subprocess Popen Constructor构造函数 Class Popen的参数 args 调用程序 调用Shell指令 stdinstdoutstder ...

  7. 使用python的Flask实现一个RESTful API服务器端[翻译]

    最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...

  8. 使用Python调用Flickr API抓取图片数据

    Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...

  9. Ruby操作VBA的注意事项和技巧(2):宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用

    4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 ...

随机推荐

  1. Arduino学习——Arduino main 函数

    在Arduino IDE的安装目录下可以找到main.cpp这个代码模板文件,main函数就位于此. 文件位置:{Arduino安装目录}\hardware\arduino\avr\cores\ard ...

  2. JFrame的面板结构和JPanel的使用

    JFrame图解结构 有一窗口框架实例:JFrame win = new JFrame("窗口");在new JFrame()时,构建了JFrame实例对象,在实例中的Layere ...

  3. 吴裕雄--天生自然 JAVASCRIPT开发学习:Math(算数) 对象

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Java并发分析—Lock

    1.Lock 和 Condition 当使用synchronied进行同步时,可以在同步代码块中只用常用的wait和notify等方法,在使用显示锁的时候,将通过Condition对象与任意Lock实 ...

  5. javaweb05 文件的上传一

    2.使用fileupload组件完成文件的上传应用 1).需求: I. 上传 >在upload.jsp页面上使用jQuery实现"新增一个附件","删除附件&quo ...

  6. [Java-基础] 注解

    引言 在进行Spring Boot 入门的时候,主程序需要@SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用.这个的作用是什么?去掉的话会报错.如 ...

  7. goweb-动作

    go-模板引擎 动作 Go 模板的动作就是一些嵌入到模板里面的命令,这些命令在模板中需要放到两个 大括号里{{ 动作 }},之前我们已经用过一个很重要的动作:点(.),它代表了传递给模 板的数据.下面 ...

  8. Codeforce 370A Rook, Bishop and King 数学规律

    这个题目挺有意思的,给定 起终点,要你求车,象,王分别最少要走多少步 车横竖都能走,而且每步任意走几格,所以它是最容易处理的,如果在同行或者同列,就是1,否则就是2 象要找下规律,象任意对角线都能走, ...

  9. PHP实现冒泡排序算法相关案例

    <?php /** * 冒泡排序,先找出一个最大的浮上去,然后再依次找最大的浮上去 */ function mpsort($a = []){ $nCount = count($a); if($n ...

  10. NSPredicate 应用

    //查询单词里面包含“ang”的字符串 NSArray *array = [[NSArray alloc]initWithObjects:@"beijing",@"sha ...