在工作中,我們有一個帶有一些功能區按鈕的加載項供我們使用。該加載項受密碼保護,我們甚至無法看到這些功能區按鈕正在調用的內容。因此,我無法知道在加載項中看到任何子例程或宏的任何名稱。訪問Excel功能區按鈕和控件
我想知道是否有可能編寫一些模仿點擊按鈕的東西?我需要一些可以與這些按鈕交互的東西。我希望這是可能的,因爲後來我還想編寫一些可以點擊其他程序上的網頁和按鈕的鏈接。
賀拉斯
在工作中,我們有一個帶有一些功能區按鈕的加載項供我們使用。該加載項受密碼保護,我們甚至無法看到這些功能區按鈕正在調用的內容。因此,我無法知道在加載項中看到任何子例程或宏的任何名稱。訪問Excel功能區按鈕和控件
我想知道是否有可能編寫一些模仿點擊按鈕的東西?我需要一些可以與這些按鈕交互的東西。我希望這是可能的,因爲後來我還想編寫一些可以點擊其他程序上的網頁和按鈕的鏈接。
賀拉斯
要使用的網頁,你應該使用Selenium。
模擬鼠標點擊從來不是一個很好的解決方案。如果界面發生變化,或者您嘗試在不同分辨率的不同屏幕上使用它,哪裏的一切都不是它曾經的地方?
無論如何,你可以使用VBA或者發送鼠標點擊:
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_RIGHTDOWN As Long = &H8
Public Const MOUSEEVENTF_RIGHTUP As Long = &H10
Private Sub SingleClick()
SetCursorPos 100, 100 'x and y position
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
或者你也可以使用外部程序像AutoIt。
但是,與插件的自動時間通話並要求可編程接口會更好。這將會更加強大。
是要求一個可編程的接口是什麼我在平推 – user3759627
我希望有認識的文字和鏈接的方式,因此就知道了。 對於界面的東西,變化會變得非常緩慢,並且可能帶有一些圖像識別功能,我可以識別按鈕或至少在界面發生變化時識別並終止代碼 – user3759627
您可以嘗試用十六進制編輯器替換傳遞給外接程序(如果此外接程序是使用Excel創建的,但看起來像是這樣),所以只需要十六進制編輯器(例如Xvi32)。
好吧,讓我們試試吧:
乾杯(?:
http:// stackoverflow。com/questions/22663809/excel-vba-password-via-hex-editor – CommonSense
或者可能重命名爲zip,查看在動作調用中放置的自定義功能區,然後可以引用插件並調用相同的調用。 –
在zip中只有我的xla文件,檔案中沒有bin文件。 – user3759627
是外接程序VBA –