目次
Excel VBAとは
Excelで使用できるプログラミング言語。
簡単なExcel VBAの使い方
1. Excelを起動する
2. Alt + F11 でVBAのエディタを起動する
3. 試しに下記のコードを入れて実行するとA1のセルに3が入力される
Sub test() Range("A1").Value = 1 + 2 End Sub
※表示→マクロ→マクロの表示から実行する。
セルから値を受け取れる
セルに値を入れるコードを書いたが逆にセルの値をコード側で使用することもできる。
例えば下記にように記述して実行すればA1から受け取った値の10倍をMsgBoxで表示する。
Sub test() MsgBox Range("A1").Value * 10 End Sub
IEを起動する
Sub test() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True End Sub
iwb.jpを開く
Sub test() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "https://iwb.jp/" End Sub
URLをA2から受け取る
Sub test() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate Range("A2").Value End Sub
HTMLを取得してB2の文字列が入っているか調べる
Sub test() Sub test() Dim objIE As Object Dim html As String Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate Range("A2").Value Do While objIE.Busy Or objIE.readystate <> 4 DoEvents Loop html = objIE.document.all(0).outerHTML If InStr(html, Range("B2").Value) Then Range("C2").Value = "あり" Else Range("C2").Value = "なし" End If End Sub
処理が完了したらIEを閉じる
Sub test() Dim objIE As Object Dim html As String Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate Range("A2").Value Do While objIE.Busy Or objIE.readystate <> 4 DoEvents Loop html = objIE.document.all(0).outerHTML If InStr(html, Range("B2").Value) Then Range("C2").Value = "あり" Else Range("C2").Value = "なし" End If objIE.Visible = False End Sub
titleタグの内容を取得してD2に入れる
Sub test() Dim objIE As Object Dim html As String Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate Range("A2").Value Do While objIE.Busy Or objIE.readystate <> 4 DoEvents Loop html = objIE.document.all(0).outerHTML If InStr(html, Range("B2").Value) Then Range("C2").Value = "あり" Else Range("C2").Value = "なし" End If Range("D2").Value = objIE.document.Title objIE.Visible = False End Sub