ExcelのVBAで、A1~A10 のセルに入っている数値を下記 URL の「お問い合せ番号」の入力欄に自動でセットして、「検索」のボタンを押したいのですが、方法が分かりません。
http://www2.fukutsu.co.jp/inq/INQJJ120.html
下記のプログラムで表示までは出来るのですが、それから先の入力とボタンクリックの方法が分かりません。
何かアドバイスを頂けると幸いです。
> Dim oIE As Object
>
> 'IE起動
> Set oIE = CreateObject("InternetExplorer.Application")
> oIE.Visible = True
>
> '目的のURLへ
> oIE.Navigate "http://www2.fukutsu.co.jp/inq/INQJJ120.html"
>
> '完全表示まで待つ
> While oIE.Busy: Wend
> While oIE.document.readyState <> "complete": Wend
No.2ベストアンサー
- 回答日時:
#15日から拝見しておりますが、#1 さんからのお返事がないようですので、ちょっと横から口出しさせていただきますね。
そもそも、#1 さんのご回答は、ちょっと示唆深いように見受けられるのですが、
>例えば~~でしたら
とお書きのように、そのままやってしまうと NG ですね。
>上記の2つを試したのですが、以下のエラーが出ます。
ちゃんとお示しの URL の html ソース をご覧になりましたか?
そこには、「name="toino"」なんて記述はありませんよね。
お示しの URL の場合は、
<FRAME src="INQJJ120.jsp" name="INQJJ120" marginwidth="1">
と書いてあるところが、
>「お問い合せ番号」の入力欄
の実態です。
実際には、
http://www2.fukutsu.co.jp/inq/INQJJ120.jsp
という ページ になりますが、この ページ の html ソース には、#1 さんがお書きの コード がそのまま出ております。
ですから、
http://www2.fukutsu.co.jp/inq/INQJJ120.jsp
の ページ を読み込むようにすれば、「oIE.Document.all.toino」が有効になります。
>なお、「 toino 」という名前は、
>10個の入力欄すべてに同じ名前が付けられているので、
>今回の指定方法では特定出来ないような気がするのですが。
その通り! ちゃんと、ぃぃトコロに気が付いていらっしゃるではないですか。
「oIE.Document.all.toino」のままでは単なる "[Object]" ですね。
[デバッグ(D)] - [ウォッチ式の追加(A)...] で、[式(E):] に「oIE.Document.all.toino」を入力して、[OK] してみてください。
ページ を読み込んだ段階で ウォッチ ウィンドウ を見ると、「oIE.Document.all.toino」の左の「+」を クリック すると、配下に
length 10
Item 1 ~ 10
というものが見てとれます。
これが
>「お問い合せ番号」の入力欄
ですね。
oIE.Document.all.toino.Item(1)
あるいは、単に
oIE.Document.all.toino(1)
で、実態を掴むことができます。
ただし、「Item 1 ~ 10」とはなっていますが、配列の引数は「0」から始りますので、「Item 1」は「oIE.Document.all.toino(0)」になります。
さて、
> 実際には、
>http://www2.fukutsu.co.jp/inq/INQJJ120.jsp
>という ページ になります
と書きましたが、お示しの VBA コード の「oIE.Navigate」の後に、この URL を指定してやるのが簡単かとも存じますが、このような作りの ページ(フレームページ)の場合は、
oIE.Document.frames(1)
で
<FRAME src="INQJJ120.jsp" name="INQJJ120" marginwidth="1">
を掴むことができます。
従って、お示しの VBA コード のままで行くと、
oIE.Document.frames.Item(1).Document.all.toino(0).Value = "ほげげ"
でイケマスね。
# suffre さん、大きなお節介失礼いたしました。
# <(_ _)>
DOUGLAS_ さん、ありがとうございます!
ばっちり、目的を果たす事が出来ました! 感謝、感激です!
「ウルトラスーパーベストアンサー」の指定をさせて頂きたい程です。
重ねて、お礼申し上げます。 ありがとうございました。
No.1
- 回答日時:
入力は、例えば
<INPUT type="text" size="20" maxlength="13" name="toino" value="">
でしたらnameがtoinoなので、
oIE.Document.all.toino.Value = "ほげげ"
で、ボタンクリックは
<INPUT type="submit" name="btn1" value="検 索" onClick="return search()">
のnameがbtn1なので、
oIE.Document.all.btn1.Click
で行けます。
suffre さん、ご回答ありがとうございます。
oIE.Document.all.toino.Value = "ほげげ"
oIE.Document.all.btn1.Click
早速、上記の2つを試したのですが、以下のエラーが出ます。
実行時エラー '438':
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
何か環境的にすべき事があるのでしょうか?
なお、「 toino 」という名前は、10個の入力欄すべてに同じ名前が付けられているので、今回の指定方法では特定出来ないような気がするのですが。
なにかアドバイスがございましたら、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【Microsoft Forms】回答を削除...
-
Office 2021 Professional Plus...
-
マイクロソフト 一時使用コード...
-
【スプレッドシート】指定の日...
-
VLOOKUP関数について
-
英数字のみ全角から半角に変換
-
Microsoft Formsで「応答」から...
-
エクセルでXLOOKUP関数...
-
エクセルで英文字に入れた下線...
-
1つのPCに「Excel 2010」「Exc...
-
大学のレポート A4で1枚レポー...
-
マクロ自動コピペ 貼り付ける場...
-
Outlookでの時間指定送信機能に...
-
会社におけるOfficeライセンス...
-
Office Professional Academic ...
-
vb.net オブジェクト指向につい...
-
マイクロソフト オフィスについて
-
エクセルで例えば、関数を使っ...
-
Microsoft Officeを2台目のPCに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUN BBSの改造方法
-
CGIメールフォームの件名について
-
perlで書いたcgiでsqliteの使い...
-
CGI(Perl)内での必須項目チェ...
-
チェックボックスでのor検索
-
入力フォームに全角・半角スペ...
-
Windows7でVBScriptによるネッ...
-
tracert ができない原因
-
配列をグループ化して出力したい。
-
電話番号を読み込むプログラム...
-
JNAVIから提供されたメー...
-
日本語文字化け(GETメソッド?)
-
文字って数字で表現・・・
-
sendmail -fオプションの指定は...
-
【ASP.NET MVC】フォームヘルパ...
-
sendmailのメール送信ができま...
-
【CGI】画像の表示の仕方【Mini...
-
添付つきメールフォーム:「an ...
-
同じname属性の結果を1行にまと...
-
太郎を太と郎に分ける方法。
おすすめ情報