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. CSS样式实现两个图片平分三角

    <div class='pageOption'> <a href='#' class='option' > <img src='http://imgsrc.hubbles ...

  2. AJAX(阿贾克斯)的简单应用

    1.ajax 对象的属性说明(常用的) (1)open(method,url,boolean);创建请求,method :填请求类型(get post),url :请求的地址, boolean:tru ...

  3. [tensorflow] 线性回归模型实现

    在这一篇博客中大概讲一下用tensorflow如何实现一个简单的线性回归模型,其中就可能涉及到一些tensorflow的基本概念和操作,然后因为我只是入门了点tensorflow,所以我只能对部分代码 ...

  4. Java执行js加密算法

    Java执行js加密算法 今日需求:在后端执行一段加密算法,算法是js写的 明白需求以后疯狂百度.最后发现JDK提供了各种脚本的支持(怪笔者学艺不精,第一次见识到这个库,留下不学无术的泪水),正题开始 ...

  5. ModernRNN

    GRU RNN存在的问题:梯度较容易出现衰减或爆炸(BPTT) ⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系 RNN: \[ H_{t} = ϕ(X_{t}W_{xh} + H_{t-1} ...

  6. CentOS8上用Docker部署开源项目Tcloud

    一.安装Docker 1.我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上) root账户登录,查 ...

  7. httpclient连接池在ES Restful API请求中的应用

    package com.wm.utils; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http ...

  8. linux系统终端介绍

    https://zhidao.baidu.com/question/174261014.html

  9. LeetCode No.163,164,165

    No.163 FindMissingRanges 缺失的区间 题目 给定一个排序的整数数组 nums ,其中元素的范围在闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间. 示例 ...

  10. BTree非递归

    preorder void PreOrder(BTNode* b) { BTNode* p = b; SqStack* st; InitStack(st); if (b != NULL) { Push ...