🐷

Excelマクロで仕事効率化(初心者向け)(4) | ChatGPTの利用

2024/07/22に公開

はじめに

今回は、ExcelマクロでChatGPTのAPIを扱ってみたいと思います。

なぜ、私がExcelマクロの記事を書くようになったかは、以下の記事でご確認いただけると幸いです。

https://qiita.com/ogi_kimura/items/2bd4743c529082e76e96

また、前回の記事ではVBAを使って請求書をDPFファイルで一括出力するプログラムについて記述しました。興味がありましたら、ご確認いただけると幸いです。

https://qiita.com/ogi_kimura/items/099d7c04e3e3b2358e87

この記事を書こうと思った理由

特に大きな企業となると、会社員・サラリーマンは、一日のほとんどを「資料作成」や「社内調整」に時間を費やしているのではないでしょうか。かく言う私もそうでして、上司や役員に対して案件の必要性を理解してもらうためにパワーポイントで資料を作ったり、今度はその資料の意味が分からないと言われて、直接説明に行き、宿題をたくさんもらってまた時間がかかったり...一日の大半はクリエイティブとは言えない作業で満たされてしまいます。
 これを常態的に続けていると、10年後・20年後の私が習得した技術やノウハウは、現在の会社の中でしか通用しないものになってしまいます。もちろん、自身の市場価値も余り期待できませんし、仮に転職をしようと考えた時、条件交渉などで不利になるでしょう。このような社内でしか通用しない「資料作成」や「社内調整」などの作業を、「生成AI」に担わせることができると考えて、「ChatGPT」のAPI処理をVBAで実装しようと思い立ちました。
 日本の会社員が、少しでもクリエイティブな仕事をできるようになることを願います。

概要説明

プログラミングの説明をする前に、先ずは今回のExcelマクロの概要説明をします。「標準モジュール」は3つあり、以下のようにしています。
 今後の記事では、この概要に従い、プログラムの実装を行っていきたいと思います。

模式図

Excelマクロは、OpenAIにAPIを投げて、その結果を表示させることをします。
後述しますが、予めOpenAIにユーザ登録をして、APIを利用できるようにする必要があります。

structure.jpg

各標準モジュールについて

標準モジュールそれぞれについて、役割を示します。
「Json」については、後日の記事で説明します。

標準モジュール 役割
GPT Excelマクロからの指示(実行ボタン押下など)を受けて、APIをOpenAIに投げて、その結果をExcelに表示します。
ChatGPTLib Jsonを作成するための補助を行います。ChatGPTでは、誰目線での回答をしてほしいのかを表す「assystant」と、自身の質問を記述する「user」をAPIに載せる必要があり、それをJson形式に記述するための手伝いをしています。この標準モジュールは、既に賢い人が作ったものでそのまま持ってきます。
JsonConverter 文字列をJson形式に変換したり、逆にJson形式を文字列に変換したりします。 この標準モジュールは、既に賢い人が作ったものでそのまま持ってきます。

おわりに

今回はExcelマクロでChatGPTのAPIを利用するための準備として、概要説明をしました。
次回からは、「Jsonについて」「OpenAIのユーザ登録について」「Dictionaryについて」を説明していきたいと思います。
次々回は、プログラミングに進めるかと思います。

Discussion