2014-09-26 68 views
0

我讀過Mr Pearson的this,他說excel對象模型不允許檢測用戶滾動的情況,爲了做到這一點,我們需要安裝一些第三方dll等。 ..在VBA中檢測Excel滾動

這在Excel 2010中仍然如此嗎?宏記錄器似乎檢測滾動並在滾動頁面時將滾動位置打印到子例程中(實際上,如果您在滾動時可以看到模塊,則可以實時看到它執行此操作)......當然必須如果宏記錄器在不安裝其他dll的情況下執行此操作,可以這樣做嗎?由宏錄製生成

示例代碼:

ActiveWindow.ScrollRow = 16 
ActiveWindow.ScrollRow = 17 
ActiveWindow.ScrollRow = 18 
ActiveWindow.ScrollRow = 19 
+0

「當然,如果宏錄像機一定有辦法做到這一點」 - 爲什麼?宏記錄器不是用VBA編寫的。可以鉤住Excel窗口並使用API​​調用攔截滾動消息,但我不推薦它。 – Rory 2014-09-26 13:25:08

回答

0

在Excel 2010中這仍然是真的嗎?是的。聽或處理活動的窗口滾動是不是固有的內Excel 2010中

VBA環境值分配給一個物業或調用方法來自「掛鉤」完全不同或「聽「對於事件。要訪問Excel應用程序或其子對象的任何事件,方法屬性它們必須通過VBA環境或通過使用Windows API進行本質上的公開。