本文へ移動
Develop Tools
← 使い方ガイドへ戻る

VBAコードをAIへ安全に貼る方法|顧客名・ファイルパス・シート名をマスキング

Excel・Access・OutlookのMacroには、Codeの識別子だけでなくCell値、Path、Mail、接続情報が混ざります。再現に必要なVBA構造と外へ出せない情報を分けます。

VBAコードから顧客名・ファイルパス・シート名を隠してAIへ共有する流れ
VBAコードから顧客名・ファイルパス・シート名を隠してAIへ共有する流れ

VBAコードをブラウザ内でマスキングする

クラス・型、関数・メソッド、識別子、値、コメントを選び、VBA構造を確認できる共有用コピーを作成します。入力CodeはDevelop Toolsのサーバーへ送信・保存されません。

VBAコードマスキングツールを開く

結論

顧客名、Workbook・Sheet・Range名、Path、URL、Credential、Mail、Commentを確認し、Sub・Function、Object参照、Error処理を保った共有用コピーを作ります。

元VBA Projectを直接編集せず、共有用Copyで作業してください。

機密情報とVBAの再現Contextを分ける

Option Explicit

Sub ExportCustomer()
    Dim customerSheet As Worksheet
    Set customerSheet = ThisWorkbook.Worksheets("Customer_Master")
    customerSheet.Range("A1").Value = "Acme Corporation"
End Sub
残す候補隠す候補
Sub・Function・If・With顧客名、Workbook・Sheet名
Object型・Error NumberPath、URL、Credential
再現手順・Office bit数Mail、Cell値、Comment

VBAコードマスキングツールで確認する手順

  • 1. 相談に必要なModuleの最小範囲をCopyします。
  • 2. 型・Method・識別子・値・Commentを選択してマスキングします。
  • 3. 宣言と参照、Object修飾、Error処理を比較します。
  • 4. 必要語だけ右クリックで戻し、結果だけを共有します。

見落としを防ぐ確認表

分類確認対象
ExcelWorkbook、Sheet、Range、Cell値
接続Path、URL、Server、Credential
識別子Module、Sub、Function、Variable
周辺Comment、Error Message、Mail、Log

VBA固有の構文と再現条件を残せているか確認する

  • Option Explicit、Option Base、条件付きコンパイル、Declare・PtrSafe・LongPtrを残す
  • Sub・Function・Property Get・Let・Setの宣言と呼出し、戻り値代入を対応させる
  • ByRef・ByVal・Optional・ParamArray、型宣言文字、配列の括弧と下限・上限を変えない
  • Set・Nothing・With・先頭ドット、ThisWorkbook・ActiveWorkbook・Worksheet参照を残す
  • On Error GoTo、Resume、Err.Number・Description・Source、行Labelを残す
  • Range・Cells・Offset・Resizeの修飾元と行継続記号を確認する
  • ADO接続文字列、SQL、JSON、URL、Regex、Mail本文は別のデータとしても確認する

現行ツールはString内部のSQL・接続文字列・URL・正規表現を分解しません。必要ならSQL・JSON・URL・正規表現・Log用ツールで別Copyを確認し、VBAの引用符へ戻してください。

AI・Issue・Chatへ共有する前の最終チェック

  • Password、API Key、Token、Connection String、Cookie、Authorizationを検索する
  • 顧客名、Email、電話番号、社員番号、Workbook・Sheet・Range名、帳票名を確認する
  • UNC Path、Drive Letter、Windows User名、Server・DB名、URL、IP Addressを確認する
  • Outlookの宛先・CC・件名・本文・添付Path、ExcelのCell値も点検する
  • Officeの32/64 bit、VBA7、Host Application、Error Number、再現手順は残す
  • 共有するのはマスキング結果だけにし、元Codeと対応情報は権限管理された場所へ残す

実CredentialがCodeや履歴へ入っていた場合、文字列を隠すだけでは対処になりません。失効・再発行と保存方法の見直しを行ってください。

現在のVBAコードマスキングツールでできること・できないこと

確認項目現在の対応注意点
入力VBAテキストの貼り付け.bas・.cls・.frmの直接読込、VBA Project一括処理、Downloadは行わない
分類クラス・型、関数・メソッド、識別子、値、コメントVBE、VBA Compiler、Office Object Modelと同等の構文・型・参照解析ではない
宣言Sub、Function、Property Get・Let・Set、Declare、Type、Enum、引数、変数、行Labelを手掛かりに対応付け参照設定、Late Binding、Default Property、CallByName、文字列で指定する名前は意味解析しない
Stringをvalue-N、Numberを0、Date Literalを#2000-01-01#へ置換Connection String、SQL、JSON、URL、Range Addressの文字列内部を項目別には解析しない
64 bitPtrSafe、LongPtr、LongLong、VBA7等のKeywordを保持Pointer・Handleの型が正しいか、WinAPI宣言が安全かは判定しない
コメントマスキングして残す・残す・削除するを選択TODO、顧客名、Path等を意味別に検出する機能ではない
出力結果コピー、全消去、結果側の右クリックによる個別解除Mapping View、Mapping Download、履歴保存、復元用Fileは提供しない
保存Font・Theme等の表示設定だけをLocalStorageへ保存入力VBA、結果、対応表はLocalStorageへ保存しない
プライバシー入力と変換をブラウザ内で処理VBAコードと結果をDevelop Toolsのサーバーへ送信・保存しない

マスキング結果は共有用コピーです。VBEの「デバッグ」→「VBAProjectのコンパイル」、実行テスト、参照設定確認、Security Reviewを代替しません。

Microsoft公式資料と利用中のOfficeで仕様を確認する

Office VBAはHost Application、32/64 bit、参照設定、Office Versionで挙動が変わります。記事の例だけで断定せず、利用中のVBEとMicrosoft Learnで確認してください。

具体例:実行時ErrorをAIへ質問

顧客名、Workbook・Sheet・Range名、Path、URL、Credential、Mail、Commentを確認し、Sub・Function、Object参照、Error処理を保った共有用コピーを作ります。

実Credential、実顧客情報、内部Pathではなくexample.testやDummy Workbook等を使い、問題を再現する最小範囲で確認します。

  1. 最小再現Codeを別Copyへ切り出す
  2. 識別子・値・Commentをマスキングする
  3. VBA構文とObject参照を比較する
  4. マスキング結果だけを共有する

結果側の匿名箇所は右クリックで個別解除できます。戻した元情報が本当に共有に必要か、送信前に再確認してください。

よくある質問

.bas・.cls・.frmやExcel Fileを直接読み込めますか?
直接読込には対応していません。必要なVBAテキストを入力欄へ貼り付けます。現行ツールはVBE、VBA Compiler、Office Object Modelと同等の解析ではありません。
Connection String、SQL、Range、PtrSafeも自動で正しく判断できますか?
保証しません。String内部のConnection String・SQL・JSON・URL・Regex、Rangeの参照先、参照設定、Pointer・Handle型は意味解析しません。必要に応じて専用ToolとMicrosoft資料、VBE Compileで確認します。
入力したVBAコードはサーバーへ送信されますか?
入力とマスキング結果はブラウザ内で処理され、Develop Toolsのサーバーへ送信・保存されません。LocalStorageへ保存されるのは表示設定だけで、Mapping Viewや履歴保存もありません。