国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

VBS調(diào)用Windows API函數(shù)的代碼

2020-03-24 18:16:27
字體:
供稿:網(wǎng)友
那天無意中搜索到一篇《WinCC VBS利用EXCEL調(diào)用Windows API函數(shù)》的文章,不知道WinCC是什么,Google了一下好像跟西門子自動化有關。WinCC是什么并不重要,重要的是這篇文章提供了VBS調(diào)用Windows API的一種思路——EXCEL VBA,一種傳說比VB還要VB的語言。但是那篇文章中的例子都是使用已經(jīng)寫好的EXCEL VBA程序,即首先得存在一個EXCEL文件。我就想,能不能在VBS中通過excel.application對象創(chuàng)建一個包含VBA代碼的EXCEL文檔然后再調(diào)用它呢?Google來Google去,終于在微軟幫助和支持中找到了方法。結(jié)合兩篇文章(請先閱讀這兩篇文章),寫了一個示例程序,效果是移動鼠標至桌面左上角。如果你的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中調(diào)用Windows API不屬于本文的討論范圍,請自己查閱資料。使用oExcel.Run "MyMacro",0,0調(diào)用我們寫入的VBA代碼。
原文:http://demon.tw/programming/vbs-excel-invoke-windows-api.htmlhtml教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 泾川县| 上饶市| 临西县| 郓城县| 包头市| 新田县| 桐乡市| 乌海市| 商河县| 浑源县| 九江市| 花莲市| 铜鼓县| 双柏县| 彝良县| 青海省| 屏东县| 焉耆| 信宜市| 哈密市| 建昌县| 南乐县| 潞城市| 弋阳县| 都匀市| 阜阳市| 塔城市| 临沂市| 乐亭县| 武城县| 固始县| 澄江县| 松桃| 北安市| 星子县| 综艺| 璧山县| 博爱县| 石楼县| 连平县| 富顺县|