佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > VBS調(diào)用Windows API函數(shù)的代碼

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

熱門標(biāo)簽:智能手機(jī) 檢查注冊(cè)表項(xiàng) 美圖手機(jī) 銀行業(yè)務(wù) 呼叫中心市場(chǎng)需求 服務(wù)器配置 鐵路電話系統(tǒng) 網(wǎng)站文章發(fā)布

那天無(wú)意中搜索到一篇《WinCC VBS利用EXCEL調(diào)用Windows API函數(shù)》的文章,不知道WinCC是什么,Google了一下好像跟西門子自動(dòng)化有關(guān)。WinCC是什么并不重要,重要的是這篇文章提供了VBS調(diào)用Windows API的一種思路——EXCEL VBA,一種傳說(shuō)比VB還要VB的語(yǔ)言。

但是那篇文章中的例子都是使用已經(jīng)寫好的EXCEL VBA程序,即首先得存在一個(gè)EXCEL文件。我就想,能不能在VBS中通過(guò)excel.application對(duì)象創(chuàng)建一個(gè)包含VBA代碼的EXCEL文檔然后再調(diào)用它呢?Google來(lái)Google去,終于在微軟幫助和支持中找到了方法。

結(jié)合兩篇文章(請(qǐng)先閱讀這兩篇文章),寫了一個(gè)示例程序,效果是移動(dòng)鼠標(biāo)至桌面左上角。如果你的EXCEL不是太盜版,雙擊這個(gè)VBS后應(yīng)該可以看到效果。

復(fù)制代碼 代碼如下:

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行的修改注冊(cè)表是為了讓VBS能夠完全控制EXCEL,strCode即為寫入EXCEL中的VBA代碼,至于怎樣在VBA中調(diào)用Windows API不屬于本文的討論范圍,請(qǐng)自己查閱資料。使用oExcel.Run "MyMacro",0,0調(diào)用我們寫入的VBA代碼。
原文:http://demon.tw/programming/vbs-excel-invoke-windows-api.html

您可能感興趣的文章:
  • python調(diào)用windows api鎖定計(jì)算機(jī)示例
  • C#中調(diào)用Windows API的技術(shù)要點(diǎn)說(shuō)明
  • 使用winapi安裝Windows服務(wù)示例程序
  • 基于Windows API分解路徑問(wèn)題的詳解
  • Windows API函數(shù)大全(完整)
  • windows服務(wù)器您試圖從目錄中執(zhí)行CGI、ISAPI 或其他可執(zhí)行程序,但該目錄不允許執(zhí)行程序
  • Windows程序內(nèi)部運(yùn)行機(jī)制實(shí)例詳解
  • 深入詳解C編寫Windows服務(wù)程序的五個(gè)步驟
  • 使用WindowsAPI獲取錄音音頻的方法

標(biāo)簽:滄州 紅河 沈陽(yáng) 上海 河南 新疆 樂(lè)山 長(zhǎng)治

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBS調(diào)用Windows API函數(shù)的代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    永康市| 卢氏县| 林州市| 陵水| 淅川县| 永春县| 郧西县| 壤塘县| 治多县| 梓潼县| 陆丰市| 邓州市| 建始县| 永丰县| 五峰| 长春市| 噶尔县| 增城市| 贵溪市| 蕉岭县| 娱乐| 金山区| 珠海市| 常州市| 海盐县| 聂荣县| 大化| 扶风县| 汝州市| 玉溪市| 大厂| 金阳县| 肇庆市| 奉化市| 长子县| 黔西| 九寨沟县| 依安县| 蓝田县| 容城县| 石城县|