ChatGPT for Excel という、エクセルの関数でChatGPTと質問&回答のやり取りができる
エクセルのアプリ(拡張機能)もあります。ケースによってはこちらの方が効果的。
https://appsource.microsoft.com/ja-jp/product/office/wa200005271?tab=overview
Sub ChatGPTへセルA1の質問を送りセルA2に回答を受け取る_ChatGPT_API使用()
'※ChatGPT API key の挿入が必須です
API_Key = ""
'最大文字数を指定(文字数で課金されるため念のため指定)
最大文字数 = 1000
'何種類かあるが、これが一番優秀で値段も高い
ChatGPT_API_ver = "text-davinci-003"
'これは固定
API_URL = "https://api.openai.com/v1/completions"
'質問したい内容をここに入れる、例でセルA1で質問、セルA2で回答
質問内容 = Range("A1")
'API接続するための下準備
Set GetChatGPT = CreateObject("MSXML2.XMLHTTP")
With GetChatGPT
'APIキーを使って接続している
.Open "POST", API_URL, False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "Authorization", "Bearer " & API_Key
'ここでChatGPT師匠へ質問を投げる
リクエスト文 = "{""model"":""" & ChatGPT_API_ver & _
""", ""prompt"":""" & 質問内容 & _
""", ""max_tokens"":" & 最大文字数 & _
", ""temperature"":0.5, ""top_p"":1}"
.send リクエスト文
'レス4が入るまで繰り返して待つ
Do While .readyState <> 4: DoEvents: Loop
'回答が返ってきた
返答原文 = .responseText
End With
'帰ってきた返答を、わかりやすくするため、仮でA2へ代入。色々おまけ付き
Range("A2") = 返答原文
'これを無理にVBAで加工する必要はなく、関数で処理しても可能
End Sub