MacroCat@Siro - ExcelVBA・PHP・フリーランス

ExcelVBA、WEBスクレイピング、その他技術に関して書いていきます。

初めてのIE操作

読者になる/フォローする

 

ExcelIE操作する基本を学ぼう

f:id:sirosiro346:20171012103146p:plain

こんにちわ、MacroCatのsiroです。

初めてのIE操作ということで、ExcelからIEのデータを抽出するマクロを作ってみましたので、簡単にご紹介します!

tonari-it.com

上記記事ですが、とってもわかりやすくて素敵でした。

すらーっと進んで一通り書いてあることはやってみたので、自分で決めた仕様でなにか簡単なものを作ってみようと思います!

 

 みんな大好きGoogle先生に質問した結果をExcelに残そう!

f:id:sirosiro346:20171012103458j:plain

 

ランサーズでも、Amazonでも、楽天でもそうなんですが、一覧リストって基本ページ移動して確認するじゃないですか。

全部表示すると重いので1ページに表示できる件数を絞って表示するのはわかるんですけど、もっとこう広範囲に一覧で見たいなーってときありません?

 

と、いうことで、まずはGoogleで検索した結果を保存するマクロ作ってみました!

youtu.be

 

単純なGoogle検索のみなので、需要がどのぐらいあるかわかりませんが、Amazonとか、楽天とか、食べログとかで同じようなツールを作ったら、ほしい人いそうですね。

 

以下に、開発時のtipsをまとめています。

ExcelIE操作を行うときの参考になればと思います。

 

IEから各要素(id、class、tagなど)を取得する方法はこちら

siroexcelvba.hatenablog.com

IEから取得した要素が存在しなかった場合の処理はこちら

siroexcelvba.hatenablog.com

 

その他製造時のメモ 

コメントアウト設定

https://tonari-it.com/excel-vba-vbe-comment-shortcut-key/
※他にもショートカットとかほんと勉強になる部分が多いです

 

stop変数使って値確認

https://tonari-it.com/vba-immediate-command-input/

 

VBAクラス周りで分かりやすかったサイト

https://ateitexe.com/how-to-use-class-module/

 

VBE設定周り、開発手法で目からウロコの本

https://www.amazon.co.jp/exec/obidos/ASIN/4798049999/ref=nosim?tag=maftracking92466-22&linkCode=ure&creative=6339


セルに値を書き込む場合について

書き方二通りある。

Range("A2").value = "書き込む値"
Cells(1, 2) = "書き込む値"

直接セル指定ならRange、forとかで処理する必要あるならCells
が良いかなーと個人的に感じました。

Rangeはセル指定なので、AとかBとかがforでカウントしていかかないといけないので。
列だけなら、Range("A" + i).value = "書き込む値"
のように力業にすることもできますが。。。

http://sugoikaizen.com/excelvba/column_80/

 

Forの書き方

いつも忘れてしまうのでこの場で書いておきます。

For カウンタ変数 = 初期値 To 繰り返し回数 Step 加算値
 繰り返し回数までの処理
Next

 

参考:http://excelvba.pc-users.net/fol6/6_3.html
※Step 加算値を書かなかった場合は1ずつ増えていきます

 

 ではではーノシ

 

siro