初めまして。
質問について、サイトに記載されている商品の納期を調べていますが、
点数が2万点近くあるため、出来る限り機械的に処理ができないか模索しています。
流れとして、
1.手元にexcelでのデータリストがありその中の品番をコピーする。
2.ブラウザから該当サイトにアクセス(入力窓に記憶させておくことはできますが、ログインさせることは必須です)。
3.WEB上の指定の窓に1の品番を貼り付け(か入力)て検索ボタンを押す(Entだとなぜか1つ前の履歴が表示されるため検索ボタンを押します)。
4.ヒットしたページのソースから「標準納期」の文言を探し、同じ行にある日数を見つけて取得する。
5.4で見つけた納期の日数(「1週間」とか「2週間」とか「2~3日程度」とかの)をコピーして1のexcel(の指定の列)に貼り付ける。
6.excel内の対象データがなくなるまで1~5を続けて終了。
調べた結果、excelのあるセルに数値を入力しておいた状態で、
2までは動かすことは出来ました。(yahooを起動してトップページでその数値が検索)
ただ、上記のやらせたい処理になると条件がつき複雑になるため、その都度検索して納期を調べるしかないかと考えています。
過去に似たような経験のある方がいましたら、ご教授お願い致します。
No.2ベストアンサー
- 回答日時:
ChromeはというよりIE以外はやめた方がいいです。
IEはブラウザで唯一Active XコンポーネントですのでVBAから直接HTMLやDOMを操作できるAPIがあります。
"VBA IE 操作"で検索してみてください。
3の部分が複雑になる件ですがDOMを検索してInnnerHTMLとかで取得してこればシンプルにできるかと。
ただ、2万件となるとVBAで処理すると数分かかるように思います。
パフォーマンスが気になるようならEdgeやIEを.NETで開発したOffice Plug-inから操作するとよいかともいます。
ChromeやFirefoxはそもそもそういった直接操作ができるAPIがないので自動操作用の拡張機能を用意してファイルベースで操作内容を受け渡すような事が必要になるのであまりお勧めできません。
アドバイス有難うございます。
手作業でやるなら数日は掛かりそうなので、VBAで数分なら大助かりです。
DOMやらInnerHTMLなどが理解できてないので改めて調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルメーカーへネットワー...
-
【Excel】[Expression.Error] ...
-
SQLPLUSで結果を画面に表示しない
-
特定のエクセルファイルを起動...
-
AccessからExcelのファイルを起...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
「○○○.ldb」のAccess レコード ...
-
ACCESS で 項目名を出力せずに...
-
(Excelマクロ)datファイルをエ...
-
Accessで「誰々が使用中です」...
-
#1062 - '0' は索引 'PRIMARY' ...
-
sqlldrのフィールドの属性について
-
100万行のCSVを10万行ずつのフ...
-
【CSVファイル】先頭の文字列に...
-
VBAでCSVファイルが使用中かど...
-
動的にSPOOLファイルのファイル...
-
WEBクエリが使えない場合のHPデ...
-
アクセスでcsvに出力した際、頭...
-
mdbファイル フォームを開くと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイルメーカーへネットワー...
-
accessでexcelデータを一部変換...
-
Accessからexcelに数式もエクス...
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
SQLPLUSで結果を画面に表示しない
-
特定のエクセルファイルを起動...
-
【CSVファイル】先頭の文字列に...
-
Batch: フォルダ内の特定のファ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
100万行のCSVを10万行ずつのフ...
-
Access VBA を利用して、フォル...
-
selectした結果の余計な余白を...
-
tmpファイル なぜできる?削除...
-
ADOを使ったDBアクセス後のメモ...
-
「1004:アプリケーション定義...
-
ACCESSのモジュールエラー?
-
VBAでCSVファイルが使用中かど...
-
Accessデータベースの最適化をE...
-
ACCESS で 項目名を出力せずに...
おすすめ情報