2017-05-15 93 views
0

SendKeys發送鍵盤字母組合的唯一方法嗎?發送鍵盤字符VBA

我必須處理無法激活的網頁對話框,所以我想過使用SendKeys,但由於某些原因,沒有任何反應。 當我點擊一個按鈕「導出文件」時,會觸發此框。

我意識到,從這個盒子被打開直到它被關閉的時候,代碼沒有運行,這意味着如果我用F8運行以下位,它會點擊打開框 - >框被顯示 - >但SendKeys命令似乎只有手動關閉該框後才能達到。

enter image description here

objIE.document.frames(1).frames(0).document.ChildNodes(1).Children(1).Children(0).Children(0).Children(4).Children(0).Click ' clicks on the Export button 
SendKeys "[email protected]", True ' doesn't work...with True or False 

FYI這是按鈕我點擊和它所觸發的html:

enter image description here

這是一個Intranet頁面,但我發現了一個類似的方式來獲得這個:

  1. 開始在這個平臺上創建一個新的問題orm
  2. 寫一些東西,然後嘗試點擊你的個人資料按鈕。
  3. 您會看到此框出現,詢問您是否想要離開此頁保持此頁

如果您通過VBA執行這些第一步,您會看到只要此框出現,代碼就不會再被激活。 因此,無論如何點擊您的個人資料按鈕,並因此,該框的顯示,將不會達到,直到您手動關閉該框。

enter image description here

+0

'SendKeys'是非常不可靠的。您可能會嘗試解決這個問題,即根本不使用IE。 G。通過XHRs。網址是否可以通過互聯網進行測試? – omegastripes

+0

不幸的是它是一個內聯網。我絕對不熟悉XHR,但我會​​檢查一下。 – Seb

+0

其實一個很好的類似的例子是,如果你開始問一個新的問題,並嘗試通過vba離開頁面。你會得到這個盒子,提供給你__這個頁面_或_Stay在這個頁面_上,你會看到代碼將不會被訪問,直到你手動關閉該框。 – Seb

回答

0

的問題是,哪裏是重點啓動窗體上?事實上,焦點可能指向表單本身或按鈕或其他組件,這就是SendKeys發送數據的地方。

嘗試將代碼結合: 的SendKeys「{TAB}」

哪個製表,你可以把多次,直到你專注於文本框,一旦重點放在正確的申請,去與你的SendKeys「我的信息「。

+0

我試過了,但它不起作用。我編輯了我的問題,使其更清晰一些 – Seb