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

首頁 > 編程 > VBScript > 正文

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

2020-06-26 18:25:57
字體:
供稿:網(wǎng)友
結(jié)合兩篇文章(請(qǐng)先閱讀這兩篇文章),寫了一個(gè)示例程序,效果是移動(dòng)鼠標(biāo)至桌面左上角。
 

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

但是那篇文章中的例子都是使用已經(jīng)寫好的EXCEL VBA程序,即首先得存在一個(gè)EXCEL文件。我就想,能不能在VBS中通過excel.application對(duì)象創(chuàng)建一個(gè)包含VBA代碼的EXCEL文檔然后再調(diào)用它呢?Google來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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湖北省| 柞水县| 西林县| 靖安县| 建平县| 汶上县| 治县。| 富源县| 紫阳县| 乌鲁木齐县| 格尔木市| 嵊泗县| 宁德市| 维西| 思南县| 宁南县| 兴和县| 宜宾县| 文水县| 孟州市| 清河县| 乌拉特后旗| 宜都市| 绥芬河市| 故城县| 凭祥市| 黎城县| 元阳县| 翼城县| 哈尔滨市| 晋江市| 天峨县| 田阳县| 满城县| 河南省| 阿图什市| 牡丹江市| 吉木萨尔县| 义马市| 福清市| 永平县|