【Excel VBA 開発用コード集】VBAモジュールをテキスト形式で出力する

アフィリエイト広告を利用しています。

VBA ブック内の全標準モジュール/クラスモジュール/UserForm を、テキスト形式(.txt)でエクスポートする VBA コードです。

AI を使いながら VBA コードを作成する際、コードを AI のチャット入力欄にその都度コピー&ペーストする手間を減らすことを目的としています。

VBA モジュールの拡張子(.bas / .cls / .frm)のままでは、AI にファイルを読み込ませる際に文字コード(CP932 など)を指定しても、正しく読み取れないことがあるため、テキスト形式で出力する仕様にしています。

コピー利用、または AI による再生成性・参考用途を想定しています。

VBAモジュールをテキスト形式で出力する方法

コード

Option Explicit

Sub ExportAllModulesFromSelectedWorkbook()

    ' Description
    '   ファイル選択ダイアログで指定したブック(xlsm / xlam)から、
    '   標準モジュール・クラスモジュール・UserForm を
    '   ChatGPT で安全に読み込ませるため、テキスト形式(.txt)で
    '   同一フォルダ配下の「VBA_Export」フォルダへ一括エクスポートする。
    
    
    ' 変数宣言
    Dim target_wb As Workbook    ' エクスポート対象ブック
    Dim export_dp As String      ' エクスポート先フォルダパス
    Dim comp As Object           ' VBA コンポーネント
    Dim file_path As Variant     ' 選択されたファイルパス


    ' 対象ブックをファイル選択で指定
    file_path = Application.GetOpenFilename( _
                    FileFilter:="Excel Files (*.xlsm;*.xlam), *.xlsm;*.xlam", _
                    Title:="VBA モジュールを抜き出す対象ブックを選択してください")

    If file_path = False Then Exit Sub

    ' 対象ブックを開く(読み取り専用)
    Set target_wb = Workbooks.Open(file_path, ReadOnly:=True)

    ' 出力先フォルダ(対象ブックと同じ場所)
    export_dp = target_wb.Path & Application.PathSeparator & _
                "VBA_Export" & Application.PathSeparator

    ' 出力先フォルダが存在しなければ作成
    If Dir(export_dp, vbDirectory) = "" Then
        MkDir export_dp
    End If

    ' VBA コンポーネントを順に走査
    For Each comp In target_wb.VBProject.VBComponents

        Select Case comp.Type
            Case 1, 2, 3   ' 標準 / クラス / UserForm
                ' ChatGPT で安全に読み込ませるため、拡張子を .txt として出力する
                comp.Export export_dp & comp.Name & ".txt"
        End Select

    Next comp

    ' 対象ブックを閉じる(保存しない)
    target_wb.Close SaveChanges:=False

    ' 完了通知
    MsgBox "テキスト形式でエクスポート完了:" & vbCrLf & export_dp, vbInformation

End Sub


操作画面シート作成方法

作成中

使いかた

作成中

コード実行結果

作成中

VBAスキルアップの参考情報

近年は、ChatGPTをはじめとするAIの登場によって、学習のスタイルが大きく変わりました。

分からないことがあれば、AIに尋ねれば答えがすぐに見つかる時代です。

とはいえ、AIを使いこなすには、自分自身の基本的な知識や理解力が欠かせません。

全体像をつかむためには、やはり書籍などで体系的に学んでおくことが今でも有効です。

そのうえでAIを活用すれば、自分の理解度に合わせた的確な解説や、応用のヒントを得ることができます。

「学んで基礎を築く → AIで補い発展させる」──このサイクルを重ねることで、VBAスキルは着実に高まっていくでしょう。

VBAのスキルアップ

VBAを学び始めるなら

入門書は、どれを選んでも大きな差はないように感じます。

どれを選ぶかに悩むことに時間をかけるよりも、まずは手頃な一冊を手に取って進めてみるのがおすすめです。

もし迷ったときには、私はインプレス社の「いちばんやさしい」シリーズを選ぶことが多いです。

基礎を超えて力をつけたいなら

私は上級者を目指していましたので、入門書にとどまらず、このような内容の濃い一冊を選んで学んでいました。

今は誰でもAIを活用できる時代になりましたが、上級者を目指す方にとっては、AIをより上手に活用するという意味でも、こうした本は今なお価値があります。

このレベルの本を一冊持っておくことに、損はないでしょう。


資格で能力を証明したいなら

VBAのプログラミング能力を客観的に示したい場合には「VBAエキスパート試験」があります。

特に「スタンダード」の方は上級者向けです。

あなたが社内業務の改善を行う立場であっても、VBAで作成したシステムをお客様に納める立場であっても、この資格は信頼や安心につながるでしょう。

以下の公式テキストが販売されています。



プログラミングの一般教養

「独学プログラマー」というプログラミングの魅力を解説した書籍があります。

これはVBAではなくPythonを題材としていますが、プログラミングの基本的な知識や思考法、仕事の進め方まで幅広く学べます。

今はAIにコードを尋ねれば、答えが返ってくる時代です。

しかし、この本からは「コード」以上に、プログラミングに向き合う姿勢や考え方を学ぶことができるでしょう。


こちらの記事でも紹介しています。もしよろしければご覧ください。

【初心者歓迎】無料相談受付中 

運営者・ポテ

いつもありがとうございます!

限られた時間をより良く使い、日本の生産性を高めたい──

みんなの実用学を運営するソフトデザイン工房では、業務整理や業務改善アプリケーション作成のご相談を承っております。

お気軽にご相談ください。


こちらの記事でも紹介しております。

おわりに

運営者・ポテ

ご覧いただきありがとうございました!

この記事では、「VBAモジュールをテキスト形式で出力する」方法をまとめました。

お問い合わせやご要望がございましたら、「お問い合わせ/ご要望」フォームまたはコメント欄よりお知らせください。

この記事が皆様のお役に立てれば幸いです。

なお、当サイトでは様々な情報を発信しております。よろしければトップページもあわせてご覧ください。

この記事を書いた人

運営者・ポテソフトデザイン工房|日々の業務にちょうどいい自動化を
■人生を追求する凡人 ■日本一安全で、気の向くままに自分の時間を過ごせる、こだわりのキャンプ場を作るのが夢 ■ソフトデザイン工房運営(個人事業者) - 業務改善アプリケーションをご提供 ■人生は時間そのもの。ひとりでも多くの人が「より良い人生にするために時間を使って欲しい」と願い、仕事のスキルの向上、余暇の充実、資産形成にチャレンジ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です