はじめに
今、話題のChatGPTをExcelマクロ(VBA)から使えるようにしましたので、ご紹介します。
環境
Windows10
Excel(Microsoft365バージョン)
流れ
・完成イメージ
・APIキーの取得方法
・基本構造作成
・JSON形式のデータ取得
・2回目以降の質問実装
・エンディング
最終画面イメージ
最終的に、以下のようなChatGPTを組み込んだAIチャットボットを作成しました。
YouTubeでの解説:
上記の作業の流れをYoutubeで詳しく解説していますので、ぜひ、ご覧ください。
サンプルソース
YouTubeで紹介している処理の初期版プログラムソースです。
Sub ChatGPT_API()
Dim APIKey As String
Dim strModel As String
Dim strQuestion As String
Dim Url As String
Dim http As Object
Dim strMessages As String
Dim strResponse As String
'*** 初期値設定 *****
APIKey = "APIキーを貼り付けてください"
strModel = "gpt-3.5-turbo" 'モデル名
strQuestion = Range("B2").text '**質問を変数にセット
'*** API処理 ****
Url = "https://api.openai.com/v1/chat/completions"
Set http = CreateObject("MSXML2.XMLHTTP")
'リクエストヘッダー
http.Open "POST", Url, False
http.setRequestHeader "Content-Type", "application/json"
http.setRequestHeader "Authorization", "Bearer " & APIKey
'メッセージ作成
strMessages = "{""model"": """ & strModel & """," & _
"""messages"": [{""role"": ""user"", ""content"": """ & strQuestion & """}]}"
'リクエスト送信
http.send strMessages
strResponse = http.responseText '結果を変数に代入
Range("B5") = strResponse
End Sub
最終プログラム
YouTubeで紹介している最終プログラムソースは、YouTube動画の概要欄に、限定公開のQIITAのURLを掲載していますので、Youtube動画経由でご覧ください。
https://youtu.be/nsrg40kdFuM
最後に:
今回は、ChatGPTに対してエクセルマクロでAPI接続するプログラムを作成しました。
意外と簡単に出来ましたが、このプログラム作成もChatGPTやBing-AIを使って作成しました。
もう、ChatGPTなしには、プログラムが作成できません!
今後も、良さそうなプログラムが出来たら、ご紹介したいと思います。