メモ:VSCodeでVBA

Excel VBAの困ったところ

  • VBのソースがExcelブックに抱き込まれているため差分管理が困難。
  • Editorが古臭く、不便で使いづらい。
  • 有志が作成したアドインを入れないと行番号すら表示されない。

VSCode拡張機能をインストール

  • VSCode の Extensions で「XVBA - Live Server VBA」をインストール。
  • VSCode のサイドバーに「XVBA - MACRO LIST」が追加される。

Excelの設定

  • Excelの「開発」→「コード」→「マクロのセキュリティ」でトラストセンターの「マクロの設定」を開き、「VBAプロジェクト オブジェクト モデルへのアクセスを信頼する」にチェックを入れる。(Excel 2016の場合)
    「ファイル」→「オプション」→「トラストセンター」→「トラストセンターの設定」からも開ける。

VBAソースのインポート

  • ExcelブックのあるフォルダをVSCodeで開く。
  • 「XVBA - MACRO LIST」の「Bootstrap XVBA Config」ボタンをクリック。
  • メニューバーから「Create Excel VBA Project」を選択。
  • 生成された config.json を開き、「"excel_file": "index.xlsb"」の "index.xlsb" の部分をExcelブックのファイル名に修正する。
  • 「XVBA – MACRO LIST」の「Import -VBA」ボタンをクリック。

文字化け対策

  • VBAのソースは日本語がシフトJISのため、文字化けが起こる。
  • .vscode/settings.json を作成し、下記のように記述する。
{
    "files.encoding": "shiftjis"
}

参考