2016-09-30 5 views
1

私はここで非常に簡単な例を持っています。これは、button1を押すと新しいウィンドウが開き、Google検索には「安いプラスチックウィンドウ」が入力されます。私がしたいのは、Google検索のテキスト(すでに開いているウィンドウ)が「格安プラスチックドア」に変わるbutton2を押すときです。私は2日間それをしようとしているが、どのように見つけることができない。実際の例を参考にしていただければ幸いです。ありがとうございますVBA Excelの入力データがすでに開いているウィンドウにある

Private Sub CommandButton1_Click() 

Set objIE = CreateObject("InternetExplorer.Application") 

objIE.Visible = True 

objIE.Navigate ("www.google.co.uk") 

Do 

DoEvents 

Loop Until objIE.ReadyState = 4 

objIE.Document.GetElementById("lst-ib").Value = "cheap plastic windows" 

End Sub 

Private Sub CommandButton2_Click() 
'the command below does not as obviously the objIE is not select which I have no idea how to do 

ie.Document.GetElementById("lst-ib").Value = "cheap plastic doors" 

End Sub 

答えて

0

これを使用して、ウィンドウがあることを確認します(存在する場合)。ユーザーが「CommandButton2」をクリックする前に別のアプリケーションに行っても機能しないという小さなリスクがあります。しかし、ユーザーがあなたのマクロとIEだけにとどまるなら、それはうまくいくでしょう。

Private Sub CommandButton2_Click() 

     Dim ie As Object 

     With CreateObject("Shell.Application").Windows 

     If .Count > 0 Then 
      ' Get IE 
      Set ie = .Item(.Count - 1) 
     Else 
      ' Create IE 
      Set ie = CreateObject("InternetExplorer.Application") 
      ie.Visible = True 
     End If 

     End With 

     ie.Document.GetElementById("lst-ib").Value = "cheap plastic doors" 

     Set ie = Nothing 

End Sub 
+0

ありがとうございました!私はあなたが投稿した直前にウェブ上のサンプルを見つけましたが、それも動作します。 Finaly私はほぼ2日間立ち往生していたように私が働いているプロジェクトで続けることができます:) – the5ame

関連する問題