Skill Note

平凡なエンジニアがメモ代わりにプログラミング, インフラ, ネットワークを書き綴るブログ

Visual Studio CodeでVBAの開発環境を構築する

   

 

普段利用するテキストエディタはVisual Studio Code(VSCode)を利用していますが、VSCodeではVBAのデバッグを行うことができず、VBAを開発する時だけはVisual Basic Editor(VBE)でコードを記述していました。

VBEの開発環境ではソースコードのバージョン管理やハイライト表示がなく視認性が低いなど使いづらさを感じていました。

VBAの開発環境を改善できないか調査する中で、VSCodeで編集したソースコードをVBEに取り込めることが分かりました。

これにより、コード編集はVSCode、デバッグは今まで通りVBEで行う開発環境に改めました。

この記事ではVSCodeを利用してVBAの開発環境を構築する手順を記載します。

マクロ設定の変更

VBEをVBAマクロから操作可能にするため、Excelのオプションからマクロ設定を変更します。

[Excelのオプション] – [セキュリティセンター] – [セキュリティセンターの設定] – [マクロの設定]をクリックします。

[VBA プロジェクト オブジェクト モデルへのアクセスを信頼する]にチェックします。

text-scripting-vbaモジュールの配置

VBEにコードを取り込むツールをしてGitHubよりtext-scripting-vbaをダウンロードします。
https://github.com/tcsh/text-scripting-vba

フォルダ内ににExcelファイルを保存します。

VBEを開き[ThisWorkbook]にダウンロードしたフォルダ内の[src/ThisWorkbook.cls]内のコードをコピーします。

ソースコードの取り込み

Excelファイルを開くと取込用のマクロが自動実行され、フォルダ内のmain.basとmodSample.basに記述されているサンプルマクロが取り込まれます。

Excelの起動時以外にも取込用のマクロ(reloadModule)を手動で実行することでソースコードを取り込むことができます。

取込対象のソースコードはlibdef.txtに対象ファイルを定義することで取込を行うことができます。

VBEでデバッグの実行

取込用のマクロを実行すると追加したマクロが追加されています。

デバッグはVBEで今まで通り行うことができます。

VBAの開発環境を構築することで、VSCodeでソースコードの編集 ⇒ 取込マクロの実行 ⇒ VBEでデバッグの繰り返しでVBAの開発を行うことができるようなりました。

 

Google AdSense PC

Google AdSense PC

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

program
Webサービス WebAPIの作り方

ASP.NET(C#)でWebサービスを作成する この記事ではVisual StudioでSOAP形式のWebサービスを作成する方法について記載します。 Vis …

program
[Soap UI]プロパティの使い方

Soap UIでプロパティを使用したテスト Soap UIではSOAPリクエスト内のデータはプロパティによって置き換えることができ、リクエスト送信などをトリガー …

program
VMware ESXiにSSH接続してコマンドを実行する方法

SSH接続の設定手順 ESXiはSSH接続した端末から、ゲストOSの起動やVMの作成などのコマンドを実行することができます。 デフォルトの設定ではSSHが無効に …

program
[Soap UI]Webサービスのテストツール

Soap UIでWebサービスをテストする 今回の記事ではWebサービスのテストツールSoap UIの簡単な使い方を記載していきます。 Soap UIとは So …

program
[jQuery]セレクトボックスを操作する方法

jQueryでセレクトボックスを操作する セレクトボックスの値を参照したり、任意の値を選択状態にするなど、jQueryを使用したセレクトボックスの操作方法を記載 …

program
Webサービス Web APIのまとめ

Webサービス Web APIを調べる Webサービス、Web APIについて調べた結果を簡単にまとめました。 Webサービス、Web APIとは HTTPなど …