免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VBS調(diào)用Windows API函數(shù)

那天無意中搜索到一篇《WinCC VBS利用EXCEL調(diào)用Windows API函數(shù)》的文章,不知道WinCC是什么,Google了一下好像跟西門子自動化有關(guān)。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é)合兩篇文章(請先閱讀這兩篇文章),寫了一個示例程序,效果是移動鼠標(biāo)至桌面左上角。如果你的EXCEL不是太盜版,雙擊這個VBS后應(yīng)該可以看到效果。

Dim WshShellset 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, oModuleSet oExcel = CreateObject("excel.application")Set oBook = oExcel.Workbooks.AddSet 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 strCodeoExcel.Run "MyMacro",0,0oExcel.DisplayAlerts = FalseoBook.CloseoExcel.Quit

前面3-5行的修改注冊表是為了讓VBS能夠完全控制EXCEL,strCode即為寫入EXCEL中的VBA代碼,至于怎樣在VBA中調(diào)用Windows API不屬于本文的討論范圍,請自己查閱資料。使用oExcel.Run "MyMacro",0,0調(diào)用我們寫入的VBA代碼。

本文章由本人收集整理,轉(zhuǎn)載本文章請保留本信息!
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用VBA宏自動改變Excel宏安全級別設(shè)…
VBS教程(文本版)|『 腳本技術(shù)交流 』
Excel VBA(宏)精簡(四)
Excel 淺談API 與 在VBA中的調(diào)用
Excel資源分享:Excel 2016高級VBA編程寶典
Excel VBA工作薄 6.5到時會自動消失的提示窗口 不影響程序執(zhí)行
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服