Board logo

標題: (發問)請問VBA如何切換視窗 [打印本頁]

作者: jewayy    時間: 2011-11-12 17:59     標題: (發問)請問VBA如何切換視窗

各位先進,請問如何由Excel藉由VBA,切換至上一個視窗。

   SendKeys "%{tab}", True

小弟看書以及查網路資料得出用以上的方式,可是卻沒有作用。
請問錯在哪裡,煩請指導,謝謝~~

P.S.小弟是用Windows 7(64位元)以及office 2003(32位元)
作者: luhpro    時間: 2011-11-12 23:47

回復 1# jewayy
你的 TAB 要打英文大寫:

SendKeys "%{TAB}", True

[attach]8512[/attach]
作者: GBKEE    時間: 2011-11-13 07:02

回復 1# jewayy
切換桌面程式視窗     ALT+TAB      -> SendKeys "%{TAB}", True   
切換程式中的視窗     CTRL +TAB   ->SendKeys "^{TAB}", True
作者: oobird    時間: 2011-11-13 09:16

ALT+TAB      是xp的快速鍵
win7也許會與xp不同
你應該先確定快速鍵是否有效再用SendKeys調用。
作者: jewayy    時間: 2011-11-13 09:44

謝謝兩位的指點。
不過更改為大寫後還是一樣沒有作用。

會不會跟64位元的環境有關,因為有搜尋一下Yahoo知識,好像有人提到:
""Vista中 VBA sendkeys 無法在其它程式上使用 - Yahoo!奇摩知識+""
不過回覆看不懂,才來這裡詢問,哈哈~請多幫忙~~
作者: GBKEE    時間: 2011-11-13 09:55

回復 5# jewayy
附上檔案看看
作者: jewayy    時間: 2011-11-15 21:12

其實檔案也沒有什麼,就是簡單的加上sendkeys的指令而已
SendKeys "^{TAB}", True
但是就是沒辦法運作,而且會失去焦點,連儲存格的框框都不見了~~哈哈
不過
SendKeys "^{TAB}", True
卻可以有作用,真奇怪.......


P.S. Windows 7裡的Alt+Tab與XP一樣,都是切換視窗用的,所以用實體鍵盤可以切換,用VBA寫沒辦法切換,這才是怪啊~

如附件,請查照~~
[attach]8548[/attach]
作者: luhpro    時間: 2011-11-17 19:36

回復 7# jewayy
因為我的系統不是 Windows 7 所以不能測試結果,
不過我之前遇過執行程式的權限不夠時某些功能會不能動作,
或者你可以試試看,
開啟我的電腦 或 檔案總管 對著 Book2.xls 按滑鼠右鍵,
再選擇 "以系統管理員身分執行" 試試.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)