📊

Excel VBA を Visual Studio Code で書きたいんよね。

2021/06/02に公開

お疲れ様です。みはるです。
VBAのエディタが気持ち悪いのでvscodeで書くことにしました。

目次

  • 必要なもの
  • 開発環境構築
  • Excel の設定
  • インポート&エクスポート
  • vbac.wsf とは
  • vscode の拡張機能について

必要なもの

  • vscode
    お好みで拡張機能をインストール
    • VSCode VBA - Scott Spence
    • vba-snippets - Scott Spence
    • vscode-vba-icons - Scott Spence
  • powershell
  • vbac.wsf
  • Excel

開発環境構築

ディレクトリ構成はお好みで。

例)
mkdir ~/work/vba_project/bin
cd ~/work/vba_project
wget -Uri https://raw.githubusercontent.com/vbaidiot/ariawase/master/vbac.wsf -OutFile "vbac.wsf"

#コマンド実行後、bin配下にエクセルファイルを配置する。
#その後、標準モジュールを作成しマクロが有効になっている形式(.xlsm)で保存する。

Excel の設定

Excelのオプション -> トラストセンター -> トラストセンターの設定 ->
マクロの設定 -> VBA プロジェクト オブジェクトモデルへのアクセスを信頼する。

上記にチェックを入れ、OKボタンをクリックして保存する。

インポート&エクスポート

以下のコマンドを実行するとExcelファイルへ、インポート&エクスポートができる。

cscript vbac.wsf decombine -- マクロをエクスポート
cscript vbac.wsf combine -- マクロをインポート

エクスポートすると vbac.wsf と同階層に srcフォルダ が作成され、その中に標準モジュールなどの、ソースファイルが作成される。
インポートする際はsrc フォルダの中にあるソースファイルを読み込ませる。

先にエクスポートして作業用ファイルを生成するのが無難ですね。
以上で環境構築終了です。

vbac.wsf とは

いげ太さん が制作されています Ariawase という VBAライブラリの一部です。

いげ太さん Twitter:https://twitter.com/igeta
Ariawase:https://github.com/vbaidiot/ariawase
※ AriawaseはMITライセンスです。

vscode の拡張機能について

basやclsは自動的に関連付けされますが、dcmはされません。
setting.json に下記を追記します。

"files.associations": {
         "*.dcm":"vba",
 }

それでは、良きエンジニアライフを!!

Discussion