【VSCode】XVBAを使ってExcel VBA開発

2022/03/02

以前VSCodeのインストールを紹介しましたが、今回はVSCodeの拡張機能「XVBA」を紹介致します。

XVBA

VSCodeの拡張機能です。

  • ExcelVBAコードをVSCodeへインポートやエクスポートが可能
  • VSCode上でマクロの実行が可能
    などなど・・・

今回紹介する環境はWindows環境になります。
VSCodeのインストールは下記記事を参考にインストールを行ってください。

XVBAインストール

まずはVSCodeを起動し、メニューバーの「表示」⇒「拡張機能」(Ctr+Shift+X)を表示させます。


検索ボックスに「xvba」と入力すると2件表示されます。

  • XVBA – Live Server VBA
  • XVBA – Ribbon Menu

「XVBA – Live Server VBA」を選択し、インストールを行います。
以上でインストールは完了です。

開発を行うための設定

VSCodeで扱いたいファイルが存在するフォルダを指定します。

今回の検証用の前提条件として、フォルダはCドライブ直下に「VSCodeXVBA」を作成し、ファイル名は「xvba.xlsm」とします。

「xvba.xlsm」には、標準モジュールに「Xvba」というサブプロシージャが既に記述されているものとします。

VSCodeのメニューから「表示」⇒「エクスプローラー」(Ctrl+Shift+E)を表示させます。
続いてメニューから「ファイル」⇒「フォルダーを開く」(Ctrl+O)を選択し、開きたいフォルダを指定します。
※今回はC直下にある「VSCodeXVBA」を選択します。

赤枠がフォルダ名、黄色枠がファイル名が表示されています。

次に赤の楕円のあたり「XVBA – MACRO LIST」にマウスカーソルを合わせると、色々なメニューが表示されます。
その中の一番左側の「Bootstrap XVBA Config」をクリックして、「Create Excel VBA Project」を選択します。

「Create Excel VBA Project」を実行すると、Projectに必要なファイルが作成されます。
その中の「config.json」を開きます。

ファイルを開くと文字化けしているので、エンコードを「Shift-JIS」から「UTF-8」へ変更します。

文字化けが解消したら、赤枠の「excel_file」の設定を「index.xlsb」から「xvba.xlsm」に変更し保存します。

Excelからモジュールをインポート

「config.json」の「excel_file」設定を変更したことが確認できたら、「XBVA – MACRO LIST」付近にカーソルを合わせて、左から2番めの「Import – VBA」をクリックします。

インポートが完了すると、「vba-files」にExcelファイルに記述してあったモジュールファイルなどが表示されます。

VSCodeからマクロの実行

「XBVA – MACRO LIST」に「Xvba」と表示されている箇所の右側に黒色の▶ボタンが表示されています。
黒色の▶ボタン(RunMacro)をクリックすると、マクロを実行することができます。

VSCodeからExcelへエクスポート

VSCodeでModule1にサブプロシージャを追加してみます。

Sub xvbaExport()
    MsgBox "XVBA Export"
End Sub

コードの追記が終わったらエクスポートし、Excelに反映させます。

「XBVA – MACRO LIST」付近にカーソルを合わせて、左から4番めの「Export – VBA」をクリックします。

「Development」をクリックします。

Excelへのエクスポートが完了すると赤枠のバナーが表示されます。

ExcelのVBAエディタでも確認をします。
赤枠の部分が追加されてますね。

これで開発環境は整いました。
あとはVSCodeでコーディングして、エクスポートを繰り返すだけです。