VBAをVSCodeで編集する方法|XVBA拡張機能で快適コーディング!

VBA

普段Excelでマクロを書くとき、VBAの標準エディター(VBE)はちょっと機能が物足りないと感じませんか?

  • テーマやフォントのカスタマイズが少ない
  • git連携ができない

こういった不満を解決してくれるのが、Visual Studio Code(VSCode)と、拡張機能のXVBAです。
※また単純にVscodeの方が編集機能(ショートカット)が豊富だったり、普段から使い慣れているという方も多いと思います

XVBAとは?

XVBA – Live Server VBA」は、Visual Studio Code(VSCode)上でExcel VBAの開発を効率化するための拡張機能で、以下の2つの機能が使えるようになります。

  • ExcelVBAのコード←→VSCodeへのインポート/エクスポート
    (bas,cls,frm,frx形式で指定フォルダに格納)
  • VSCode上でのマクロ実行

VBAファイルをエクスポート・インポートすることができるため、Gitなどのソースコードのバージョン管理ツールを使ってコード差分管理ができます。

※VBEでも、ファイルをエクスポートすることができますが、ファイルごとに1つ1つ操作しなければなりません。この環境をあらかじめ構築しておけば、一括ですぐエクスポートすることができるため便利です。

使用準備

scodeでVBAの編集・実行を行うために下記の2つの準備が必要です。

  • Excelのセキュリティ設定の変更
  • Vscodeの拡張機能のインストール

まずお試し用に、作業フォルダを用意し、そこにExcel(マクロ)を保存してください。

VSCodeのインストール(未導入の方向け)

もしまだVSCodeが入っていない場合は、以下からインストールしてください:

Visual Studio Code - Code Editing. Redefined
Visual Studio Code redefines AI-powered coding with GitHub Copilot for building and debugging modern web and cloud applications. Visual Studio Code is free and ...

※インストール後、日本語化するには拡張機能「Japanese Language Pack」も追加しておくと便利です。

Excelのセキュリティ設定の変更

保存したExcelファイルを開いて、セキュリティの設定を変更します。

「マクロのセキュリティ」の設定を開き、

Excelのセキュリティ設定を開く

VBAマクロを有効にしてVscodeからアクセスできるようにします。

設定画面

Vscode拡張機能、XVBAのインストール

作業フォルダでVscodeを開いて、「XVBA – Live Server VBA」という拡張機能をインストールします。

エクスプローラを開くと下の方にメニューが追加されています。

実際に使用するメニュー

実際に使用するのは下記の3つボタンのみです。

XVBAボタンの説明
XVBAボタンの説明

VsCodeの文字コードをShift-JISに変更

VBAの文字コードがShift-JISのため、VsCodeの文字コード設定を変更する必要があります。これを設定していないと文字化けしてしまいます。

vscodeの設定を開き、検索タブに「Files encoding」と入力する。

Shift-JISに変更。※デフォルトはUTF-8

ワークスペースを選択して、設定を変更した場合は設定ファイルが生成されます。

XVBAの使い方

設定ファイルの準備

エクスプローラの下の方にあるXVBAメニューを開き、XVBA設定ファイルを生成します。

XVBA設定ファイル生成
XVBA設定ファイル生成

XVBA設定ファイルが生成されるので、その中の「config.json」を開き、
「index.xlsb」を「Book1.xlsm(対象のExcelファイル)」に書きかえる

設定ファイル編集

これで設定完了です。

編集・実行する方法

編集・実行を行うにはそれぞれ

  • 編集:Book1.xlsm(対象のExcelファイル)からVscodeにソースコードをインポート
  • 実行:編集したコードをエクスポート ※Book1.xlsm(対象のExcelファイル)に戻す

をする必要があります。

※VsCodeでデバッグをすることはできません。デバッグが必要な場合は既存のVBE(Visual Basic 
 Editor)を使用する必要があります。

ソースコードをインポートする方法 ※編集する

ソースコードを編集するにはVBAをExcelファイルからインポートする必要があります。

インポートボタンをクリックすると、vba_files/直下にBook1.xlsm(対象のExcelファイル)からソースコードがインポートされます。

そのファイルを開いてそのまま編集することができます。
※モジュールの設定は基本的に触らず、その下にコードを記述してください。

ソースコードをエクスポートする方法

編集したコードを保存したら、Excelファイルにエクスポート(変更を反映)する必要があります。

XVBAのメニューからエクスポートボタンを押してExcelファイルに変更を反映します。

Book1.xlsm(対象のExcelファイル)を開き、VBE(エディタ)を開いてください。
※Alt + F11キーで開けます。

VBEで反映を確認

関数を実行する方法

Excelファイルへの反映ができたので、次にVscodeからコードを実行する方法です。

画像の通り、①モジュールを選択、②再読み込みをする、③関数の実行ボタンをクリックしてください。

実行手順

するとExcelが起動し赤く光るため、開いてみるとコードの記述通りメッセージボックスが
表示されます。

動作確認
動作確認

XVBAではデバッグ機能はありません。エラーの特定などでデバッグしたい場合はVBEを使う必要が
 あります。

まとめ

VSCode+XVBAを使えば、VBAのソースコードをファイルとして出力できるため、**VSCodeでの編集だけでなく、ソースコードの差分管理(バージョン管理)**が可能になります。

特にGitHubなどで管理したい方には、次のような使い方がおすすめです。

  • アップロードするのは「対象のExcelファイル」と「vba-files/ フォルダ」のみ
  • その他の設定ファイル(launch.jsonなど)は必要なときに都度生成
  • .gitignore に除外したいファイル・フォルダを指定すれば、GitHubに上げずに済みます

この方法なら、リポジトリがシンプルになり、管理もラクになります。

まだXVBAを使ったことがない方は、ぜひ一度導入して、快適なVBA開発環境を体感してみてください!

参考サイト

VBA基礎5':VS CODEでVBAを編集(XVBA)|KIYO
1.概要  普段業務効率化のためにExcelのVBAを使用することが多いですが①VBEが使いにくい、②GitHub Copilotを購入しているため有効活用したい という理由でVS CODEを使用したいと思っております。  下記記事を参考にしながら、VS CODEでもVBAを編集できるようにしたいと思います。 ...
【VSCode】XVBAを使ってExcel VBA開発 | とあるエンジニアの備忘録
以前VSCodeのインストールを紹介しましたが、今回はVSCodeの拡張機能「XVBA」を紹介致します。 XVBA VSCodeの拡張機能です。 ExcelVBAコードをVSCod...
VBA基礎5:VS CODEでVBAを編集(ariawase)|KIYO
1.概要  普段業務効率化のためにExcelのVBAを使用することが多いですが①VBEが使いにくい、②GitHub Copilotを購入しているため有効活用したい という理由でVS CODEを使用したいと思っております。  下記記事を参考にしながら、VS CODEでもVBAを編集できるようにしたいと思います。 ...
XVBA~使用上の注意~|shikao29
皆さんこんにちは。shikao29です。 XVBAのダウンロード数が10000回を突破しました。おめでとうございます! 前回に引き続き、今回もXVBAについて紹介していきます。まだ日本語の記事が1件もないので、ぜひご覧ください。ご意見等頂けると非常に助かります。 今回は、XVBAの使用上の注意点をお伝えしま...

コメント

タイトルとURLをコピーしました