ChatGPTでマクロを作成【業務効率化を効率化】
世界を一瞬で駆け巡っている【ChatGPT】を使って業務効率化を効率化
目下業務効率化を推進中の弊社。
これまでプログラミング初心者の実務者がGoogleで本職プログラマーのブログなどを引き引き業務効率化を進めてきました。
今回世界を席巻しているChatGPTがプログラミングを返してくれるということで、私も実際にChatGPTを活用してマクロを作成してみました。
実際にこうなりました。
やりたいこと
- システムからCSVでデータが出力される。
- そのCSVをEXCELに変換、更にテーブル化→ピボットテーブル作成
ChatGPTに投げた指示
EXCELマクロでCSVファイルをEXCELファイルで保存するマクロを作ろうとしている。 今開いているCSVファイルと同名のファイルを作成する場合のプログラムを考えて
という指示に対して以下のように回答してくれました。
vbnet
Copy code
Sub SaveAsExcel()
Dim fileName As String
Dim pathName As String
' CSVファイル名を取得する
fileName = ActiveWorkbook.Name
' 拡張子を除いたファイル名を取得する
fileName = Left(fileName, InStrRev(fileName, ".") - 1)
' 保存先のパスを取得する
pathName = ActiveWorkbook.Path & "\"
' 新しいファイル名を作成する
fileName = pathName & fileName & ".xlsx"
' ファイルをEXCEL形式で保存する
ActiveWorkbook.SaveAs fileName, xlOpenXMLWorkbook
End Sub
このマクロでは、まずActiveWorkbook.Nameを使用して、現在開いているCSVファイルのファイル名を取得します。次に、InStrRev関数を使用して、最後のピリオド(.)の前にある文字列を取得し、ファイル名から拡張子を取り除きます。これにより、元のCSVファイルと同じ名前のファイル名が得られます。
次に、ActiveWorkbook.Pathを使用して、CSVファイルの保存先のパスを取得します。新しいファイル名を作成するために、元のファイル名に.xlsxの拡張子を付加します。
最後に、ActiveWorkbook.SaveAsを使用して、新しいファイル名とファイル形式(ここではxlOpenXMLWorkbook)を指定して、EXCELファイルとしてファイルを保存します。
各構文に対してのコメントや解説までしてくれる親切なGPTさんはプログラミング学習者としても大変ありがたい。
ChatGPTがありがたいことは、この返答に対して更に「こうしたい、ああしたい」を連ねていくとそれに合った回答をしてくれるところ。
なかなかテックブログ等でも応用的なことは調べきれなかったので、まるで専属の先生と対話しながらコーディングしている気持ちになります。
ChatGPTは絶対ではない
とはいえChatGPTも完璧ではないのが実情。
すでに多くの方が指摘していますが、日本の司法試験問題に合格水準の回答が出来ても、簡単な計算ですら正確な回答が得られないケースも報告されています。
【ChatGPTはぜったいではない】現状はこれを心に置きながら活用する必要があると言えます。
ChatGPTを活用するコツ
2022年末にリリースされて、ものの数日で100万人のユーザー、そして2023年3月時点で数え切れない使い方動画が溢れていますが、実際にChatGPTを使ってみての感じたことです。
- 前提条件、やりたいことを具体的に言語化して支持する。
- ChatGPTには間違いがないと思わない。
- 間違いは間違いと指摘する。
必要なのはロジカルシンキングと言語化。
得意不得意を理解して業務効率化を効率化
以上のような特性をよく理解して活用するには非常に有用なChatGPT。
プログラミングの学習ツールとしても活用できそうなAIツールを活用してより良い企業にして行きたいと思います。