Excelの各行をAPIで処理するVBAスクリプトの作り方です。
A列のデータをAPIで処理してB列に書き込む簡単なスクリプトです。
JsonConverterのセットアップ
JsonConverterをインストールします。
https://github.com/VBA-tools/VBA-JSON#installation
Excelにボタンをつくる
適当な図形を作成し、右クリックで「マクロを登録」を選択します。
VBAスクリプト
マクロを新規作成し、以下のVBAスクリプトを書きます。
URLやヘッダー、対象とする行数などを修正してください。
C列の日時が入っている行は再実行されないようにしています。
Sub API実行_Click()
Dim i
i = 2
Do While i <= 501
Dim s As String
Dim dt As String
Application.StatusBar = "A" & i & "を処理しています...(" & Int(i / 501 * 100) & "%)"
dt = Range("C" & i).Value
s = Range("A" & i).Value
If dt = "" And s <> "" Then
Dim req As Object
Dim url As String
Dim json As String
Dim JsonResult As Object
Dim JsonRequest As Object
Set JsonRequest = New Dictionary
JsonRequest.Add "positive", s
url = "https://..."
Set req = CreateObject("MSXML2.XMLHTTP")
req.Open "POST", url, False
req.SetRequestHeader "Content-Type", "application/json; charset=UTF-8"
req.send JsonConverter.ConvertToJson(JsonRequest)
json = objHttpReq.responseText
Set JsonResult = JsonConverter.ParseJson(json)
Range("B" & i).Value = JsonResult("result")
Range("C" & i).Value = Now
End If
i = i + 1
Loop
Application.StatusBar = ""
End Sub
おしまい。