こんばんは。いつもお世話になっております。
新たに開いたウインドウをVBAでキャッチ(?)して、
オブジェクトの中に入れたいのですがやり方が分かりません。
OS:XP、オフィス2003です。
http://oshiete.goo.ne.jp/qa/7643293.html
を参考に、
---------------------------------------------------------
Option Explicit
Sub test1()
Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://www.goo.ne.jp/"
objIE.Visible = True
Do While objIE.Busy = True
DoEvents
Loop
Do While objIE.Document.ReadyState <> "complete"
DoEvents
Loop
’安否情報確認サイト 【J-anpi】をクリックする
For i = 0 To objIE.Document.Links.Length - 1
If objIE.Document.Links(i).href = "http://anpi.jp/" Then
objIE.Document.Links(i).Target = "_blank"
objIE.Document.Links(i).Click
Exit For
End If
Next i
objIE.Document.all("name").Value = "test" 'エラーになる
Set objIE = Nothing
End Sub
---------------------------------------------------------
を実行した時に、
http://anpi.jp/top
のページの“名前“をVBAで入れたいのですが、実行時エラー91になります。
理由は、
objIEには、http://www.goo.ne.jp/が入ってるから、
http://anpi.jp/topのページは操作できないのが原因だと思うのですが
Dim objIE2 As InternetExplorer
のように新たなオブジェクトを作って、
objIE2にhttp://anpi.jp/topを入れて操作するにはどうすればいいでしょうか?
最初から、
objIE.Navigate http://anpi.jp/top
を開いたり、
objIE.Navigate2 http://anpi.jp/top , 2048
で新たなタブを開く方法以外でお願いします。
Debug.Print objIE.LocationURL
を見ると、
http://www.goo.ne.jp/
が返ってきます。(そりゃそうか)
本当はこのサイトはサンプルで実際は、
vbaで
objIE.Document.Links(i).Target = "_blank"
objIE.Document.Links(i).Click
をクリックした場合、
新たに開いたウインドウをVBAでテキストに文字を入れたり、ボタンを押したりの操作する方法を知りたいのです。
objIE.document.Links(i).Click
このタイミングで、
objIEにhttp://anpi.jp/topがはいればいいなーって思ってます。
---------------------------------------------------------
Sub test2()
Dim objIE As InternetExplorer
Dim objIE2 As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
Set objIE2 = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://www.goo.ne.jp/"
objIE.Visible = True
Do While objIE.Busy = True
DoEvents
Loop
Do While objIE.Document.ReadyState <> "complete"
DoEvents
Loop
’安否情報確認サイト 【J-anpi】をクリックする
objIE2.Navigate "http://anpi.jp/top"
objIE2.Visible = True
objIE2.Document.all("name").Value = "test" 'エラーになる
Set objIE = Nothing
Set objIE2 = Nothing
End Sub
---------------------------------------------------------
これにするしかないのでしょうか?
ご回答よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちわ
すでに開いているIEに、オブジェクトをセットする
Dim myUrl As String
Dim myFlag As Boolean
Dim objIE As Object
myUrl = "http://anpi.jp/top"
For Each objIE In CreateObject("Shell.Application").Windows
If objIE.LocationURL = myUrl Then
myFlag = True
Exit For
End If
Next objIE
If Not myFlag Then
msgbox "目的のページはありません"
else
msgbox "objIEにセットされました"
End If
なるほど!すべてのブラウザをループして入れる方法ですね!
自分なりにアレンジしてうまくいきました。
ありがとうございました。勉強になりました。
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
textBox isNot Nothing とは
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
AccessVBAで「dim dbs as datab...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
VB6 エクセルに画像貼り付け
-
EXCEL VBA COLLECTIONオブジェ...
-
VBScriptからDLL参照設定したい
-
python __del__()に関して
-
InternetExplorer.Application...
-
上下の位置揃えについて
-
UserForm1.Showでエラーになり...
-
エクセルのVBAの標準モジュール...
-
ActiveXコントロールを用いたマ...
-
AccessVBA NULLについて
-
VBで引数にDictionaryオブジェ...
-
Excel VBAでWordの複数ファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報