No.4ベストアンサー
- 回答日時:
>現在でも、どういうことなのかわかっていません。
まず、手順だけ教えておきます。
サイトからのデータを取る場合、まず、F12で、そのサイトのソースを読みます。
つぎに、必要なデータの親の部分になっている、IDやClass名を調べ、
objIE.document.getElementByID(名称)
objIE.document.getElementsByClassName(名称)
また、テーブルになっているところでは、
objIE.document.getElementsByTagName("Table")
で、行(Rows)と Cell を、その項目に合わせて取得します。
こういうことを、サイトのソースから読み取るわけです。
例を示します。ここのサイトのこのテーマ
「vbaで出来ますか?」
https://oshiete.goo.ne.jp/qa/10289233.html
は、F12 でみると、<div class="q_article_info clearfix">
に入っていますから、
Set objQinf = objIE.document.getElementsByClassName("q_article_info clearfix")
で、objQinf のオブジェクトから、取り出します。
その名称や、そのデータの取得の仕方は、サイトによって全部違います。ノウハウだけ教えれば、すぐにデータが取れるというようなことはありません。私の場合は、場合によって正規表現を利用しています。スピードは落ちますが、汎用性のあるコードになるからです。
ここで、WinHttp.WinHttpRequest.5.1を使って、DOMで取るという人もいますが、基本は、IEオブジェクトからです。サイトを見て判断をします。こちら側の方が取得には圧倒的に速いのですが、まったく失敗してしまうこともあります。
また、Webからのデータ取得の質問は、今まで、トラブルも多いので、極めて慎重にならざるを得ないのです。他のVBAの質問とは違って、警察沙汰になることもあるからです。もちろん、証券会社のデータの取得で捕まった人はいませんが、だいたい、その会社でユーティリティを配布していることもあるようです。
気をつけなくてはならないのは、相手様のサーバーに負担を掛けないことを、心がけることにしています。
---------------------------------------
「Webサイトをクローリングするときに気を付けたい2つのこと」
http://ascii.jp/elem/000/001/177/1177656/
「スクレイピングって法律的に何がOKで何がOUTなのかを弁護士が解説。」
https://it-bengosi.com/blog/scraping/
多少でも分かっていただけたでしょうか?
ありがとうございます。
>>多少でも分かっていただけたでしょうか?
現段階では、まったくわかってませんが、まずはお礼を
m(__)m
とりあえず、歩き出さなければ何も始まらないから
まずは、少しやってみます。
三流君 VBAで楽しくプログラミング
こちらを少し勉強しつつ、進めていきたいと思います。
m(__)m
No.3
- 回答日時:
#2の回答者です。
>SBI証券(IE)の保有株式・買付余力を、EXCELの本日の欄に書き込みをしたいということです。
私には、私の質問に対する答えとして、最初の質問と同じ内容を繰り返しましたので、残念ながら、こちらでは直接役に立つアドバイスはできません。ご質問者自身が開発をするしかないとお見受けします。
例えば、
「三流君 VBAで楽しくプログラミング」
http://www.ken3.org/vba/
文面的には雑な内容ではあっても、ここを丁寧に読み進めていくと、実際の取得可能な豊富なサンプルがありますから、ここに勝るWebのデータ取得のノウハウが得られる所はありません。
>やっぱ、難しいですかね?
いきなりは難しいということです。私は、最初は、IEのテキストデータの丸取りから、情報を抜き出すことをしていました。やがて、IEのタグやIDで取ることを覚えましたが、すべて独学です。難しいかどうかよりも、コツコツと自分で歩みを進め、諦めさえしなければ、いずれはできるようになるかと思います。
>NO.2の回答文
どこのサイトのこの部分をデータ収集をしたいという具体例を示してくれませんでしょうか。
こちらの意味が、ちと意味不で理解できませんでした。
>私には、私の質問に対する答えとして、最初の質問と同じ内容を繰り返しましたので・・
気分を害したのでしたら謝ります。
m(__)m
ただ、現在でも、どういうことなのかわかっていません。
先程、少しだけ「三流君 VBAで楽しくプログラミング」の動画を見させてもらいました。
なかなか良さそうな動画ですね。
ちょっと動画にて勉強してみます。
ただ私が思うに、私がやろうとしてることは、ちと敷居が高そうですね。
もし、よろしかったらまたご教授等、お願いできないでしょうか?
m(__)m
No.2
- 回答日時:
利殖に関わる問題で、フリーで制作するということは、掲示板の性格はもとより、回答者自身も、本格的にはできないのですが、試しに、どこのサイトのこの部分をデータ収集をしたいという具体例を示してくれませんでしょうか。
そうしたら、相談に乗れるかもしれません。しかし、#1さんのおっしゃられているように、ログインして、ご自身の情報に関わる問題に関しては、その開発もお教えすることも困難です。
ExcelのWebクエリ程度なら問題はないのですが、本格的なものは、完成にまでこぎつけるのは、70%ぐらいです。証券関係のものは、データテーブル(tbl)が存在していますので、比較的難易度は高くないはずですが、Amazonのような所は、見かけ以上に難しいものなのです。
ありがとうございます。
>>どこのサイトのこの部分をデータ収集をしたいという具体例を示してくれませんでしょうか
SBI証券(IE)の保有株式・買付余力を、EXCELの本日の欄に書き込みをしたいということです。
半自動で、マクロボタンでも押して書き込みができるようなスタイルをと思っております。
やっぱ、難しいですかね?
m(__)m
No.1
- 回答日時:
こんにちは
>(IE)のデーターを自動入力したい
これって、ブラウザでサイトにアクセスして表示した内容をエクセルに取り込みたいってことでしょうか?
一般論としては可能だと思いますが、「保有株式・買付余力」って個人情報だと思いますので、サイト側がそれなりのセキュリティ対策を行っているのではないかと想像します。
その場合は、内容によるので、単純に普通の方法では取り出せない可能性もあるでしょう。
とりあえず一般的な方法を・・・
1)ブラウザで開かず直接エクセルに取り込む
以下の様な方法で、Webデータをエクセルに直接取り込める場合があります。
https://www.google.co.jp/search?q=%E3%82%A8%E3%8 …
これが可能なら、あとはエクセル上でデータを書き写す(?)程度の処理になるのでほとんど問題はないかと。
2)VBAでIEを制御し、表示内容からデータを取り込む
IEで目的のURLを開いたりデータを取得する方法はこの辺りをご参考に
https://www.google.co.jp/search?q=VBA+IE%E5%88%B …
こちらの場合は、サイトやセキュリティによって、工夫が必要な可能性もあるのでそのままとはいかないかも知れません。
>マクロぐらいはやるのですが
マクロは基本的にVBAです。(私も質問者様と同程度だと想像します)
頑張ってみてください。
早速のご回答ありがとうございます。
データーを半自動でいいので、楽に取り込みたいというのが趣旨です。
とりあえず、色々と挑戦してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- 株式市場・株価 1552:国際のETF VIX短期先物指数 1 2022/04/24 18:22
- 情報処理技術者・Microsoft認定資格 MOS試験Excelエキスパートを受けようか考えています。 Excelは仕事で使用。 関数は入れ子含 2 2022/12/18 10:05
- Visual Basic(VBA) VBAでPowerPointからExcelにレイアウト通りに出力する 4 2023/07/05 12:22
- 日本株 SBI証券から米国株売却後、そのUSDはどうやったら日本円で引き出せますか? SBI証券には住信SB 1 2023/05/05 16:56
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
VBAコンボボックスの内容が反映...
-
「Nullの使い方が不正です」の...
-
Excel VBAでフォルダ内の全テキ...
-
エクセルのCSV読み込みについて
-
MSFlexGrid 行選択状態
-
ADODBでの行番号の取得、もしく...
-
ListViewで表示されたデータの...
-
閉じたブックからデータを取得する
-
エクセル チャートを重ねても ...
-
エクセルVBA WEBからデータ取...
-
HTTPストリーミングによるデー...
-
Excel VBA で日付を4ケタの数値...
-
VB2008,DateTimePickerで指定す...
-
クリスタルレポートでレコード...
-
VB を用い帳票関係を作成
-
プログラムの考え方とDBの扱い...
-
非同期のプロセス間通信(パイプ...
-
XMLでデータとして画像を指定す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】値を変更しながら...
-
「Nullの使い方が不正です」の...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
XMLでデータとして画像を指定す...
-
【VB.NET】Excelの最終行までの...
-
C# DataTableに最後に追加した...
-
Excel VBAでフォルダ内の全テキ...
-
VBAコンボボックスの内容が反映...
-
COBOL数値転記の仕様
-
エクセルのセル最終行取得
-
エクセルデータをVBで検索でき...
-
アクセスでウェブ上のデータを...
-
batでレジストリキーから読み取...
-
富士通(汎用機)のAIMについて
-
非同期のプロセス間通信(パイプ...
-
エクセルのCSV読み込みについて
-
MSFlexGrid 行選択状態
-
java / jsp selectedについて
-
Excel VBA で日付を4ケタの数値...
おすすめ情報
現在、自分がネックとなりそうな事を上げておきます。
私の作ったEXCELは、左上のマクロボタンを押すと
行が10行ほど追加され、そのついでに日付等をその10行に繁栄させる仕組みとなっております。
なので、本日の欄を取得するのに何かプログラミングが必要だと思うのです。
列については、何番目みたいなことができるのか、まったく未知です。