VBAでのフォーム入力は現在閲覧しているページ?

最近の書き込み件数: 今日 0件、昨日 0件
未読分:9件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#9 2016年3月24日(木)20時30分
From: VBAマスター
返事 削除 変更
問題点は特に無いですが、Cの画面遷移も決まっているのならそこも自動化はできると思いますよ。
もちろんBのログイン処理もですが。

> VBAマスターのメッセージ(#7)への返事
>
> > フォーカスが移るについてはおっしゃるとおりJavaScriptでよく利用される処理なのでそうかもしれないですね。
> >
> > ただ、バーコードリーダーを読み取る手動処理があるので、最初にバーコード一覧を作成してループ処理させていけば、自動化できますしフォーカスが移る部分も考慮しなくてすみそうな気がしますね。
>
> はい。そうだと思います。
> JavaScriptオフでのバーコード入力を試してみたのですが、ページ自体が反応せず入力もできませんでした。
>
> ここは正攻法?のIEをVBAで制御して入力する方法を探求してみたいと思います。
> このサイト「VBAのIE制御」のサンプルコードを実行して、おおまかなエクセルとIEの関係が見えてきたところです。
>
> ただ、がっつりとVBAを勉強する前に一つ質問をさせてください。
> 次のような手順を考えております。
>
> @エクセルシートに入力用の商品番号のデータを用意しておく。
> Aエクセル(VBA)でIEを起動し、目的のサイト入口を開く。
> B手動にて目的のサイトにログイン。
> C手動にていくつかの画面を遷移し、目的のページ(商品番号の入力画面)までたどり着く
> Dエクセル(VBA)にて、商品番号を連続して入力する。
> E入力が終えたらエクセル(VBA)でIEを閉じる。以上です。
>
>
> このような手順だと、なんとかできる気がしますが、何か問題になる点とかありますでしょうか?
> よろしくお願いします。

Message#8 2016年3月24日(木)19時48分
From: ふぃぐ
返事 削除 変更
VBAマスターのメッセージ(#7)への返事

> フォーカスが移るについてはおっしゃるとおりJavaScriptでよく利用される処理なのでそうかもしれないですね。
>
> ただ、バーコードリーダーを読み取る手動処理があるので、最初にバーコード一覧を作成してループ処理させていけば、自動化できますしフォーカスが移る部分も考慮しなくてすみそうな気がしますね。

はい。そうだと思います。
JavaScriptオフでのバーコード入力を試してみたのですが、ページ自体が反応せず入力もできませんでした。

ここは正攻法?のIEをVBAで制御して入力する方法を探求してみたいと思います。
このサイト「VBAのIE制御」のサンプルコードを実行して、おおまかなエクセルとIEの関係が見えてきたところです。

ただ、がっつりとVBAを勉強する前に一つ質問をさせてください。
次のような手順を考えております。

@エクセルシートに入力用の商品番号のデータを用意しておく。
Aエクセル(VBA)でIEを起動し、目的のサイト入口を開く。
B手動にて目的のサイトにログイン。
C手動にていくつかの画面を遷移し、目的のページ(商品番号の入力画面)までたどり着く
Dエクセル(VBA)にて、商品番号を連続して入力する。
E入力が終えたらエクセル(VBA)でIEを閉じる。以上です。


このような手順だと、なんとかできる気がしますが、何か問題になる点とかありますでしょうか?
よろしくお願いします。

Message#7 2016年3月23日(水)22時22分
From: VBAマスター
返事 削除 変更
フォーカスが移るについてはおっしゃるとおりJavaScriptでよく利用される処理なのでそうかもしれないですね。

ただ、バーコードリーダーを読み取る手動処理があるので、最初にバーコード一覧を作成してループ処理させていけば、自動化できますしフォーカスが移る部分も考慮しなくてすみそうな気がしますね。

> 自己解決というか。。
>
> このサイト[VBAのIE制御入門]をずっとまわってみると、なんとなくわかってきたような気がしました。
> 私がどうやら勘違いをしていたようです。
> あくまで、VBAでIEを制御するということで、VBAで直接webとやりとりをするわけではないのですね。
>
> ですから、動的か静的にかかわらず、当然IEを通じて閲覧しているサイトをVBAでやり取りすることも可能なのだと。
>
> 実際には起動しているIEが複数あったり、タブで複数のサイトを表示していることがありますので、そのうちどれかを特定する必要はあると思いますが。。
>
>
> 話がそれますが、私が使用しているバーコードリーダーは、番号入力後に改行が入ります。
> 改行が入るとフォーカスが次の要素に進むのは、そういったJavaScriptを記述されているからかもしれません。
> 場合によってはブラウザ側でJavaScriptをオフにすれば連続でのバーコード入力ができるかもしれません。こちらも試してみたいと思います。

Message#6 2016年3月23日(水)22時19分
From: VBAマスター
返事 削除 変更
基本的に動的であろうとプログラムで生成されているのならルールがありますので、それに沿ってVBAで制御していくだけになります。

勘違いしていたとのことですが、セッション情報は関係なく「商品番号を入力」部分にあると思いますよ。

ふぃぐのメッセージ(#4)への返事

> VBAマスターのメッセージ(#3)への返事
>
> 返答ありがとうございました。
> 説明が悪くて申し訳ありません。ちょっとバーコードリーダーの件は忘れてください。
>
> 私が気にしているのは、
> 「動的に生成されたwebページを現在IEで閲覧しているとします。
> そのページに対してVBAで制御できるのかという件」です。
>
> 静的なページに対してならURLを指定することでVBAで制御できるだろうとの理解はできますが、動的なページであれば、同じURLでも異なる表示が載せられることがあるかもしれません。
>
> ましてや、ログインしてサービスを提供するサイトなら、各々の提供できる情報は異なってきます。
> 私が商品番号を入力しようとするwebサービスもそういったサイトです。
>
> こういったのをセッション情報というようですが、私の質問は「現在閲覧しているIEとエクセルがセッション情報を共有できるのか」ということに言い換えられるかもしれません。
>
> わかりづらくてすいません。よろしくお願いいたします。

Message#5 2016年3月23日(水)20時31分
From: ふぃぐ
返事 削除 変更
自己解決というか。。

このサイト[VBAのIE制御入門]をずっとまわってみると、なんとなくわかってきたような気がしました。
私がどうやら勘違いをしていたようです。
あくまで、VBAでIEを制御するということで、VBAで直接webとやりとりをするわけではないのですね。

ですから、動的か静的にかかわらず、当然IEを通じて閲覧しているサイトをVBAでやり取りすることも可能なのだと。

実際には起動しているIEが複数あったり、タブで複数のサイトを表示していることがありますので、そのうちどれかを特定する必要はあると思いますが。。


話がそれますが、私が使用しているバーコードリーダーは、番号入力後に改行が入ります。
改行が入るとフォーカスが次の要素に進むのは、そういったJavaScriptを記述されているからかもしれません。
場合によってはブラウザ側でJavaScriptをオフにすれば連続でのバーコード入力ができるかもしれません。こちらも試してみたいと思います。

Message#4 2016年3月23日(水)19時20分
From: ふぃぐ
返事 削除 変更
VBAマスターのメッセージ(#3)への返事

返答ありがとうございました。
説明が悪くて申し訳ありません。ちょっとバーコードリーダーの件は忘れてください。

私が気にしているのは、
「動的に生成されたwebページを現在IEで閲覧しているとします。
そのページに対してVBAで制御できるのかという件」です。

静的なページに対してならURLを指定することでVBAで制御できるだろうとの理解はできますが、動的なページであれば、同じURLでも異なる表示が載せられることがあるかもしれません。

ましてや、ログインしてサービスを提供するサイトなら、各々の提供できる情報は異なってきます。
私が商品番号を入力しようとするwebサービスもそういったサイトです。

こういったのをセッション情報というようですが、私の質問は「現在閲覧しているIEとエクセルがセッション情報を共有できるのか」ということに言い換えられるかもしれません。

わかりづらくてすいません。よろしくお願いいたします。

Message#3 2016年3月23日(水)12時54分
From: VBAマスター
返事 削除 変更
詳しくは調べていませんが、たしかバーコードリーダーには読み取り後にEnter押下する仕様になっているものがあったと思います。

Enter押下で次へ移動しているのであれば、原因の1つかもしれないですね。
ただし、持っているバーコードリーダーがEnter機能を無効にできるかは分かりませんので、メーカーに問い合わせてみてください。



>
> > VBAのソースを拝見すると、URLへのリンクが書かれておりますが、これは現在IEで閲覧している
> > ページに対してフォーム入力できるのでしょうか?
> >
> > バーコードを入力する画面は、いくつかの推移をへてたどり着いております。
> > 商品の条件が違えば、当然同じURLでも入れるべき商品番号が異なります。
>
> 自分でもわかりずらい説明でしたが、調べてみるとセッションに関する質問でした。
> 現在エクセルとは無関係に閲覧できている認証後のwebページに対して
> セッションを引き継いでエクセルVBAで制御できるのでしょうか?

Message#2 2016年3月23日(水)09時16分
From: ふぃぐ
返事 削除 変更

> VBAのソースを拝見すると、URLへのリンクが書かれておりますが、これは現在IEで閲覧している
> ページに対してフォーム入力できるのでしょうか?
>
> バーコードを入力する画面は、いくつかの推移をへてたどり着いております。
> 商品の条件が違えば、当然同じURLでも入れるべき商品番号が異なります。

自分でもわかりずらい説明でしたが、調べてみるとセッションに関する質問でした。
現在エクセルとは無関係に閲覧できている認証後のwebページに対して
セッションを引き継いでエクセルVBAで制御できるのでしょうか?

Message#1 2016年3月22日(火)21時01分
From: ふぃぐ
返事 削除 変更
web上のシステムで商品管理を行っています。
商品番号のバーコードをバーコードリーダで読み取り、テキストボックスに入力するのですが、
webページの作りが悪いのか、バーコードを入力するとテキストボックスへの入力フォーカスが
移動してしまいます。
そのたびにマウスでテキストボックスへ再度カーソルを合わせてフォーカスをもとに戻しています。
商品が数点なら良いのですが、数百点もある場合があり正直面倒です。

そこで、前もってエクセルに対してバーコードで全部の商品番号を打ち込み、VBAで連続的にフォームへ
入力できないかと思案しております。

VBAのソースを拝見すると、URLへのリンクが書かれておりますが、これは現在IEで閲覧している
ページに対してフォーム入力できるのでしょうか?

バーコードを入力する画面は、いくつかの推移をへてたどり着いております。
商品の条件が違えば、当然同じURLでも入れるべき商品番号が異なります。

基本的過ぎてすいませんが、不思議におもいます。どうぞよろしくお願いします。

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com