「ChatGPT」で作成したExcelマクロ
今回はChatGPTで作成したEXCELのマクロにを紹介します。EXCELのマクロは、重要な作業を自動化するために使われる便利なツールです。しかし、マクロの作成には専門的な知識が必要で、自分で作成するのは大変。ですがですが今はAIが作成できる時代。「ChatGPT」に質問を投げるだけで、その質問にあったマクロを作成してくれるのです。自分で作成する必要はありません。AIが作成するマクロがどの程度なのか、ぜひこの記事を参考にしてください。
今回作成するマクロ
ユーザーが選んだフォルダのファイルを一覧にするマクロです
「ChatGPT」に投げた質問
EXCEL VBA で以下のマクロを作成してください
・ファオルダを指定するダイアログが開く
・フォルダを指定したらフォルダ内のファイルのファイル名、容量、ファイルの種類、更新日、パスを一覧化する
・パスにはファイルのパスのリンクを追加する
・最後に完了が表示される
「ChatGPT」が答えたマクロ
Sub ListFiles()
Dim objFileDialog As FileDialog
Dim objFileSystem As Object
Dim objFolder As Object
Dim objFile As Object
Dim intCount As Integer
‘ダイアログを表示してフォルダを選択
Set objFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
If objFileDialog.Show <> -1 Then Exit Sub ‘キャンセルが押された場合
‘ファイルシステムオブジェクトを作成
Set objFileSystem = CreateObject(“Scripting.FileSystemObject”)
‘選択されたフォルダを取得
Set objFolder = objFileSystem.GetFolder(objFileDialog.SelectedItems(1))
‘シートを追加してヘッダーを設定
With Worksheets.Add
.Cells(1, 1).Value = “ファイル名”
.Cells(1, 2).Value = “容量”
.Cells(1, 3).Value = “ファイルの種類”
.Cells(1, 4).Value = “更新日”
.Cells(1, 5).Value = “パス”
End With
‘フォルダ内のファイルを一覧化
intCount = 2 ‘2行目から開始
ListFilesRecursive objFolder, objFileSystem, intCount
‘完了を表示
MsgBox “処理が完了しました。”, vbInformation
End Sub
Sub ListFilesRecursive(ByVal objFolder As Object, ByVal objFileSystem As Object, ByRef intCount As Integer)
Dim objSubFolder As Object
Dim objFile As Object
‘フォルダ内のファイルを一覧化
For Each objFile In objFolder.Files
‘ファイル情報を取得してシートに出力
With Worksheets(1)
.Cells(intCount, 1).Value = objFile.name
.Cells(intCount, 2).Value = objFileSystem.GetFile(objFile.Path).size
.Cells(intCount, 3).Value = objFileSystem.GetExtensionName(objFile.Path)
.Cells(intCount, 4).Value = objFile.DateLastModified
.Hyperlinks.Add .Cells(intCount, 5), objFile.Path ‘リンクを追加
End With
intCount = intCount + 1
Next objFile
‘サブフォルダのファイルも一覧化
For Each objSubFolder In objFolder.SubFolders
ListFilesRecursive objSubFolder, objFileSystem, intCount
Next objSubFolder
End Sub
冒頭でフォルダを指定する画面
実行結果(ハイパーリンク付き)
今回の「ChatGPT」によるEXCELマクロ作成の実験は、感動的であり同時に驚きの体験でもありました。私自身EXCELのマクロ作成は専門的な知識と時間が必要で苦労しましたが、「ChatGPT」を使えば簡単にできてしまうんですね。AIがあれば、素晴らしい技術が私たちの手の届く範囲に来ることを感じました。今後、「ChatGPT」を使ったマクロ作成が一般的になっていくのではないでしょうか?
コメント