• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    VBS调用Windows API函数的代码

    那天无意中搜索到一篇《WinCC VBS利用EXCEL调用Windows API函数》的文章,不知道WinCC是什么,Google了一下好像跟西门子自动化有关。WinCC是什么并不重要,重要的是这篇文章提供了VBS调用Windows API的一种思路——EXCEL VBA,一种传说比VB还要VB的语言。

    但是那篇文章中的例子都是使用已经写好的EXCEL VBA程序,即首先得存在一个EXCEL文件。我就想,能不能在VBS中通过excel.application对象创建一个包含VBA代码的EXCEL文档然后再调用它呢?Google来Google去,终于在微软帮助和支持中找到了方法。

    结合两篇文章(请先阅读这两篇文章),写了一个示例程序,效果是移动鼠标至桌面左上角。如果你的EXCEL不是太盗版,双击这个VBS后应该可以看到效果。

    复制代码 代码如下:

    Dim WshShell
    set WshShell = CreateObject("wscript.Shell")
    WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\AccessVBOM",1,"REG_DWORD"
    WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security\AccessVBOM",1,"REG_DWORD"
    WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\AccessVBOM",1,"REG_DWORD"
    Dim oExcel, oBook, oModule
    Set oExcel = CreateObject("excel.application")
    Set oBook = oExcel.Workbooks.Add
    Set oModule = obook.VBProject.VBComponents.Add(1)
    strCode = _
    "Private Declare Function SetCursorPos Lib ""user32"" (ByVal x As Long, ByVal y As Long) As Long" vbCr _
    "Sub MyMacro(x as Long, y as Long)" vbCr _
    "SetCursorPos x, y" vbCr _
    "End Sub"
    oModule.CodeModule.AddFromString strCode
    oExcel.Run "MyMacro",0,0
    oExcel.DisplayAlerts = False
    oBook.Close
    oExcel.Quit

    前面3-5行的修改注册表是为了让VBS能够完全控制EXCEL,strCode即为写入EXCEL中的VBA代码,至于怎样在VBA中调用Windows API不属于本文的讨论范围,请自己查阅资料。使用oExcel.Run "MyMacro",0,0调用我们写入的VBA代码。
    原文:http://demon.tw/programming/vbs-excel-invoke-windows-api.html

    您可能感兴趣的文章:
    • python调用windows api锁定计算机示例
    • C#中调用Windows API的技术要点说明
    • 使用winapi安装Windows服务示例程序
    • 基于Windows API分解路径问题的详解
    • Windows API函数大全(完整)
    • windows服务器您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
    • Windows程序内部运行机制实例详解
    • 深入详解C编写Windows服务程序的五个步骤
    • 使用WindowsAPI获取录音音频的方法
    上一篇:纯vbs实现zip压缩与unzip解压缩函数代码
    下一篇:vbs下用Shell.Application获取图片分辨率
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    VBS调用Windows API函数的代码 VBS,调用,Windows,API,函数,