WEBブラウザにHTMLで構成されているテキストボックスにVBプログラムから文字列を入力することができますでしょうか。
イメージとしては、ブラウザにHTML表示されたID,パスワード欄にVBプログラムから入力を行い、同じくHTMLのsubmitボタンをVBから押下するという感じです。
また、可能である場合、具体的にどのようにすればできるか、参考情報、サイト等教えていただけませんでしょうか。
ベーシック認証時などにポップアップ表示されるダイアログへのID/パスワードなどの入力プログラムを以前作成した際は、ウィンドウハンドルを取得して、sendmessageすることができたのですが、HTMLの部品はウィンドウハンドルで特定することができないので、苦慮しています。
以上、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
Webブラウザなどを GetObjectやCreateObjectでVB側で管理できるようにします
その後取得したオブジェクトからHTMLDocumentオブジェクトを取得し
getElementbyIdメソッドなどでテキストボックスを取得
valueプロパティに設定値を代入
Formタグに対してSubmitメソッド
といった具合でしょう
参照設定としては
『Microsoft Internet controls』 ... IEの場合
『Microsoft HTML Object Libraly』
などを使います
ご回答ありがとうございました。
HTMLDocumentオブジェクトを取得することで各エレメントを指定して値の入力、ボタンの押下ができました!
getElementbyIdの使用法がよくわからなかった(うまくいかなかった)ので、結局は
オブジェクト.Document.All("ID").Value = "xxxxx"
という記述になりました。
getElementByIdによる書き方も参考に教えていただけると幸いです。
ひとまずはおかげさまで解決できました。
No.2
- 回答日時:
カン違いな回答だったらごめんなさい。
VB2005の場合ですが。
Private IE As Object
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strURL As String = "http://www.XXXX.XXXX"
IE = CreateObject("InternetExplorer.application")
IE.Navigate(strURL)
IE.Visible = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
IE.Document.Forms(0).Elements("ID").value = "XXXXX"
IE.Document.Forms(0).Elements("PASSWORD").value = "XXXXX"
IE.Document.Forms(0).Elements("SUBMIT").click()
End Sub
Elementsの"ID"や"PASSWORD"は仮称ですのでソース等で確認して設定してみてください。
うまく動かなかったらごめんなさい。
私の環境を書くのを忘れていました。すみません。
VB6.0ですので、そのままでは動かなかったですが、基本的な考え方はいただいた記述のとおりでした。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) excel vba でユーザーフォーム入力ができない 2 2022/12/12 14:42
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- X(旧Twitter) 【至急】twitterを乗っ取られたのでしょうか? 1 2022/09/08 02:34
- その他(クラウドサービス・オンラインストレージ) おすすめのパスワードマネージャは? 1 2023/02/28 20:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでの[]
-
Vba ListViewの行挿入に関して...
-
JSPでのArrayListの表示につい...
-
エクセルVBA/SpecialCellsで特...
-
エクセルVBA 画像を貼り付ける...
-
servletからjspへオブジェクト...
-
MessageBox.Show(Me,…の「Me」...
-
VB.netでメソッドからコントロ...
-
Objectクラスのオブジェクトを...
-
JTableで値を右寄せ表示する方法
-
Excel VBA 定数にオブジェクト...
-
System.Collections.SortedList
-
VBスクリプトでテキストファイ...
-
C#で親にイベントを投げる方法
-
引数のないhasOwnProperty
-
サーブレットコンテキストの意...
-
エクセルVBAで、条件に一致する...
-
EXCEL VBAにて動的にCheckBOXを...
-
「タイプ初期化子が例外をスロ...
-
public static void main (Stri...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでの[]
-
エクセルVBA 画像を貼り付ける...
-
サーブレットコンテキストの意...
-
C#のクラスで値渡しをする
-
Vba ListViewの行挿入に関して...
-
VB.netでメソッドからコントロ...
-
Excel VBA 定数にオブジェクト...
-
servletからjspへオブジェクト...
-
javaで、、、
-
VB.NETでのnothing の意義について
-
Dispose()は、どんな時に使うの...
-
ピクチャーボックスに点を打つ...
-
VBスクリプトでテキストファイ...
-
String型からlong型への変換は...
-
JSPでのArrayListの表示につい...
-
C#で親にイベントを投げる方法
-
MessageBox.Show(Me,…の「Me」...
-
エクセルVBA/SpecialCellsで特...
-
getParameter()について
-
Calendarクラスでエラーがでる
おすすめ情報