No.1ベストアンサー
- 回答日時:
こんにちは
>いくつかのリンクをクリックしたときにIEが起動してしまいます。
私も、以前同じ問題に直面しまいした、その時は解決できませんでしたが、ふとしたところでその問題について記載されたサイトを発見しました。
後で使おうと思い、自分用に少し手を加えたものですが、使用出来ると思います。
1.WebBrowserをプログラムから作成します。
2.TabControlをプログラムから作成します。
3.TabPageをプログラムから作成します。
4.全て配列にします。
5.WebBrowserはTabPageのコントロールにします。
6.新しいページが作成される前にイベントで察知して、次のインデックスのWebBrowserを次のインデックスのTabPageのコントロールにします。
7.URLも同じく移動させます。
サンプルです。フォームに何も貼り付けていない状態でコピペして実験してみてください。
Public Class Form1
Dim webbrowsers() As WebBrowser
Dim tbpge As TabControl
Dim tbpages() As TabPage
Private Sub f1() Handles MyBase.Shown
tbpge = New TabControl 'TabControlインスタンス
tbpge.Dock = DockStyle.Fill 'DockをFillにする
Me.Controls.Add(tbpge) 'フォームにAddする
ReDim webbrowsers(0) '配列のサイズ
ReDim tbpages(0) '配列のサイズ
webbrowsers(0) = New WebBrowser 'webbrowsersのインスタンス
tbpages(0) = New TabPage 'tbpgesのインスタンス
tbpge.Controls.Add(tbpages(0)) 'tbpge(0)をTabControlにAddする
webbrowsers(0).Dock = DockStyle.Fill 'webbrowsersのDockをFillにする
'新しいWindowが開く前に発生するイベント
AddHandler webbrowsers(0).NewWindow, AddressOf WEB_NEW
tbpages(0).Controls.Add(webbrowsers(0))
webbrowsers(0).Navigate("http://www.ameba.jp/") 'アメーバピグ
tbpages(0).Text = "http://www.ameba.jp/" 'アメーバピグ
End Sub
'新しいWindowが開く前に発生するイベント
Private Sub WEB_NEW(sender As Object, e As System.ComponentModel.CancelEventArgs)
Dim c As Integer = webbrowsers.Length '現在のTabの数
Dim Href As String = CType(sender, WebBrowser).Document.ActiveElement.GetAttribute("href") '移動先のURL
e.Cancel = True '新しいウインドウの生成をキャンセルする
'webbrowsersとtbpagesのインデックスを一つ増やす
ReDim Preserve webbrowsers(c)
ReDim Preserve tbpages(c)
webbrowsers(c) = New WebBrowser '新しいページを追加します
tbpages(c) = New TabPage '新しいページを追加します
webbrowsers(c).Dock = DockStyle.Fill 'DockをFillにする
'新しいWindowが開く前に発生するイベント
AddHandler webbrowsers(c).NewWindow, AddressOf WEB_NEW
tbpge.Controls.Add(tbpages(c)) 'TabPageをTabControlにAddする
tbpages(c).Controls.Add(webbrowsers(c)) 'WebBrowsers(c)をTabPages(c)Addする
tbpge.SelectedIndex = c '作成したtabPageをアクティブにする
webbrowsers(c).Navigate(Href) '新しいタブに表示されたWebBrowserコントロールの表示アドレスを、Hrefに変更する
tbpages(c).Text = If(Href.Length > 24, Href.Substring(0, 21) & "...", Href) 'タブページのタイトルを変更
End Sub
End Class
ログインの操作が、少し難しいでしょうか?
頑張ってください。
No.2
- 回答日時:
すいません、訂正です。
>ログインの操作が、少し難しいでしょうか?
アメーバピグのログインは、他の方のブログにメール送信するとき、最初の1回目は、再度ログインするみたいです。
下記のコードで実験しました。
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Shown
WebBrowser1.ScriptErrorsSuppressed = True
WebBrowser1.Navigate("http://www.ameba.jp/")
End Sub
Private Sub ログインToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ログインToolStripMenuItem.Click
Dim login As HtmlElement
WebBrowser1.Document.GetElementById("usr_name").InnerText = "ID"
WebBrowser1.Document.GetElementById("password").InnerText = "パスワード"
For Each login In WebBrowser1.Document.All
If login.GetAttribute("name") = "Submit" Then
login.InvokeMember("click")
Exit For
End If
Next
End Sub
End Class
ログインは特に問題がないようです。
失礼しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- Chrome(クローム) グーグルクロムをマイクロソフト・エッジに切り替える方法 2 2022/06/20 10:08
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
- InternetExplorer(IE) Microsoft edgeのIEモードを解除したいのですが。 3 2023/04/09 13:51
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- フリーソフト 画像貼り付け、URLに飛べる軽いメモ帳 3 2022/05/12 07:42
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(ブラウザ) ブラウザでの音量(YouTubeなどの視聴)が自動的に下がってしまう。(できれば直したいです。) 2 2023/07/15 08:52
- システム URLがクリックや入力されてから、ブラウザに画面が表示されるまでの間にDNSサーバーは経由されないの 2 2022/06/24 01:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
質問です。 場面緘黙症で苦しん...
-
ユーザーフォームで動的(Me.Con...
-
VB.NETで、DataGridのヘッダー...
-
論理的アクセス・コントロール...
-
With~EndWithの省略部分と引数...
-
EXCEL VBA リストビューの項...
-
ActiveXとは
-
VB6のユーザーコントロールの受...
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
VBAでドラッグ・アンド・ドロップ
-
Winsockのオブジェクトエラー
-
VBA ユーザーフォームの Keypre...
-
winndws セキュリティ
-
Property Letについて
-
コントロール配列と同じような...
-
エクセルのVBA実行中の進捗...
-
OLEオートメーションエラー?
-
EXCELVBAのフォームコントロー...
-
VB.NET電卓
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
(VBA)スピンボタンの大量...
-
エクセルVBAでオプションボタン...
-
C#で角が丸いテキストボックス
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
VBAのエラーについて、”実行時...
-
コンボボックスの文字によるif...
-
変数をコントロール型で使用す...
-
chr関数の呼び出しで「プロ...
-
With~EndWithの省略部分と引数...
-
C#で自分のウインド・ハンド...
-
excelのリストボックスで選択し...
-
'ckbl' コントロールは作成され...
-
フォーム上の現在アクティブな...
おすすめ情報