VBAでIEを制御しリンク(アンカー)<a href="***">を新しいタブで開くようにしたいのですが可能でしょうか?
仮にグーグルのトップページ(http://www.google.co.jp/)の『検索オプション』(http://www.google.co.jp/advanced_search?hl=ja)を新しいタブで開くとします
実際に開きたいリンクのURLは固定ではないためURLの指定では開けませんが、飛びたいリンクの文言(『検索オプション』)は固定です
リンクに飛ぶ前に飛ぶ先のURLを取得する仕方か、Shift+Ctrl+クリックのようにリンクを新しいタブで開く方法を教えてください
一度普通にリンクに飛んでからURLを取得し、戻ってから新しいタブで開くぐらいしかできないのでしょうか?
Sub 新しいタブで開く()
Dim objIE As Object
Dim objShell
Dim URL As String
Set objShell = CreateObject("Shell.Application")
For n = objShell.Windows.Count To 1 Step -1
Set objIE = objShell.Windows(n - 1)
If Right(UCase(objIE.FullName), 12) = "IEXPLORE.EXE" Then
objIE.Navigate "http://www.google.co.jp/"
Exit For
End If
Next
Set objShell = Nothing
objIE.Visible = True
Do While objIE.Busy = True Or objIE.ReadyState <> 4
DoEvents
Loop
For Each Obj In objIE.Document.getElementsByTagName("a")
If Obj.innerText = "検索オプション" Then
Obj.Click
Do While objIE.Busy = True Or objIE.ReadyState <> 4
DoEvents
Loop
URL = objIE.Document.URL
objIE.GoBack
Do While objIE.Busy = True Or objIE.ReadyState <> 4
DoEvents
Loop
objIE.Navigate URL, CLng(&H800)
Exit For
End If
Next
End Sub
よろしくお願いいたします
No.1ベストアンサー
- 回答日時:
ino34さん こんにちは。
検索オプションのURLを取得すれば良いのですよね?
For Each obj In objIE… 以下を次のように変更すれば良いかと思います。
For Each obj In objIE.Document.getElementsByTagName("a")
If obj.innerText = "検索オプション" Then
objIE.Navigate obj.href, CLng(&H800)
Exit For
End If
Next
注)次の部分のみ変更し、不必要なステートメントは削除しています。
objIE.Navigate URL, CLng(&H800)
↓
objIE.Navigate obj.href, CLng(&H800)
お探しの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) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
いつの間にか「新しいタブ」、...
-
【Chrome】タスクマネージャー...
-
【Google Chrome】「新しいタブ...
-
Edgeで新しいタブページがカス...
-
zoomを開く際にEdgeのタブが増...
-
ブラウザアプリで、ブックマー...
-
現在アクティブなタブのページ...
-
エッジのスタート画面について
-
Edgeエラー
-
Chromeで起動時にタブを選択す...
-
リンク先を新しいタブで開けない
-
至急です!adobeのアンインスト...
-
Windows Media Player で「取り...
-
Edgeの[新しいタブで画像を開く...
-
タブを揃える
-
Yahoo Japanで記事...
-
ACCESS2000フル表示&タブコン...
-
Google chromeでクリックができ...
-
Access VBAでタブコントロール...
-
Google Chromeで新しいページを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Chrome】タスクマネージャー...
-
Edgeエラー
-
Edgeで新しいタブページがカス...
-
【Google Chrome】「新しいタブ...
-
いつの間にか「新しいタブ」、...
-
Access VBAでタブコントロール...
-
現在アクティブなタブのページ...
-
【至急】パワーポイントで表の...
-
Windows Media Player で「取り...
-
ブラウザの戻るで元の位置に戻...
-
ChromeでAdblockを使用すると、...
-
firefoxでいきなり勝手に新しい...
-
ワード表中での数値の微妙なず...
-
Wordの図形の書式タブが表示さ...
-
Microsoft Edge のウインドウの...
-
Chromeのタブ上でホイールクリ...
-
ブラウザアプリで、ブックマー...
-
Google chromeでクリックができ...
-
楽天証券 マーケットスピード...
-
iPhoneのSafariでYahoo!を開く...
おすすめ情報