生成AI活用研究
CursorでVBAを直接?編集・実行できる環境構築について

Geminiを中心に生成AIの活用と研究の記録
公開日:2025-05-10 最終更新日:2025-05-10

CursorでVBAを直接?編集・実行できる環境構築について


CursorはAI搭載コードエディタです。
「Visual Studio Code(VS Code)」をベースに、AI機能を搭載して作られたので、全体としてVSCodeと似ています。
VSCodeの基本機能を踏襲しつつ、AIによるコード補完や、チャットによるAIへの質問・指示ができる機能が追加されています。
ただし、Cursor自体がAIモデルを搭載しているわけではなく、外部のAIモデルと連携してAIを活用できる環境を提供しています。


残念ながら、本当の意味ではCursorでVBAを直接編集・実行することはできません。
あくまで、ある程度シームレスな感覚で操作できるVBA開発環境ということです。


Geminiに聞いてみた

とにかく、Geminiに聞いてみることにしました。

CursorでExcelVBAを直接編集・実行できる環境を構築したい。
CursorでExcelVBAを直接編集・実行できる環境を構築したい。

Geminiの回答

CursorでExcel VBAをVisual Basic Editor (VBE) のように直接編集・実行できる統合された環境を構築するのは、現在のところ難しい可能性が高いです。

CursorはVisual Studio Codeをベースにしていますが、VBAコードは通常Excelファイル(.xlsm, .xlsbなど)の内部に格納されており、一般的なテキストファイルとは異なる形式で管理されています。外部エディタがこれらのファイルを直接解析してVBAコードを抽出し、編集・保存する機能は限定的です。

GitHubのIssueなどでも、CursorがVBAファイル(.basなど)の読み込みに課題があることが報告されており、VBAプロジェクトをそのままCursorで開いて編集するネイティブなサポートは十分ではないと考えられます。

しかし、「CursorでVBAコードを編集し、Excelで実行する」というワークフローであれば構築の可能性があります。これは、他の多くの外部エディタ(Visual Studio Codeなど)でExcel VBAを扱う際の一般的なアプローチとなります。

主な方法としては以下の2つが考えられます。

方法1:VBAコードのエクスポート/インポートを伴うワークフロー

これは最も基本的な方法で、Cursorが特定のVBA連携機能を直接持っていなくても実現可能です。
  1. Excel側でVBAコードをファイルにエクスポートする:
    • Visual Basic Editor (VBE) を開き、対象のモジュール、クラスモジュール、ユーザーフォームなどを選択します。
    • メニューの「ファイル」→「ファイルのエクスポート」を選択し、任意のフォルダに .bas, .cls, .frm, .frx などの形式で保存します。
  2. Cursorでエクスポートしたファイルを編集する:
    • Cursorでエクスポートしたファイルを開き、VBAコードを編集します。CursorのAI支援機能などを活用できます。
  3. 編集したファイルをExcelにインポートし直す:
    • ExcelのVBEに戻り、既存のモジュールなどを削除または上書きするために準備します。
      メニューの「ファイル」→「ファイルのインポート」を選択し、Cursorで編集したファイルを選択してインポートします。
  4. Excel側でVBAを実行する:
    • インポートしたコードをExcel上で実行し、動作を確認します。
この方法は手動でのエクスポート・インポート作業が必要になりますが、Cursorを含めたいずれのテキストエディタでもVBAコードの編集が可能になります。

方法2:VS CodeのVBA関連拡張機能をCursorで試す

CursorはVS Codeをベースにしているため、VS Codeで利用できる拡張機能の一部がCursorでも利用できる可能性があります。VS CodeにはExcel VBAの開発を支援する拡張機能がいくつか存在します。

例:「XVBA」など

このような拡張機能は、以下のような機能を提供することがあります。
  • Excelファイル内のVBAコードのエクスポート・インポートの自動化
  • 外部エディタからのマクロ実行
  • VBAコードのシンタックスハイライトや入力補完
CursorにこれらのVS Code拡張機能をインストールしてみて、正しく機能するか試してみる価値はあります。もし機能すれば、方法1の手動エクスポート/インポート作業を省略できるなど、より効率的なワークフローが実現できるかもしれません。

Cursorで環境を構築するためのステップ案
  1. Excel VBAコードをファイルとして管理する準備:
    編集したいVBAコードをExcelファイルからエクスポートし、特定のフォルダに保存します。(方法1の手順1)
    もしくは、今後作成するVBAコードを最初から外部ファイルとして管理することを検討します。
  2. CursorでVBA関連のファイルを開く:
    エクスポートした .bas や .cls ファイルをCursorで開きます。
  3. VS CodeのVBA関連拡張機能を試す(オプション):
    Cursorのエディタ内で拡張機能検索機能を利用し、「VBA」などのキーワードで関連する拡張機能を探します。
    「XVBA」など、VS Codeで実績のあるVBA開発支援拡張機能があればインストールしてみます。
    拡張機能のドキュメントを参照し、Excelファイルとの連携設定(Excelファイルのパス指定など)が必要か確認し、設定を行います。
    拡張機能が提供するエクスポート/インポート機能や実行機能がCursor上で動作するか試します。
  4. CursorでVBAコードを編集する:
    Cursorの編集機能やAI支援機能を活用してVBAコードを記述・修正します。
  5. 編集したコードをExcelに戻す:
    拡張機能による自動インポート機能が使えればそれを利用します。
    拡張機能が使えない、または機能しない場合は、手動でExcelのVBEにインポートし直します。(方法1の手順3)
  6. Excel側でVBAを実行・デバッグする:
    コードの実行とデバッグは、基本的にExcelのVisual Basic Editor (VBE) で行うことになります。
実行に関する補足

外部エディタ(Cursorを含む)からExcel VBAマクロを直接、かつ柔軟にステップ実行したりデバッグしたりする機能は、VBEに統合されている機能に比べて限定的です。Cursorで編集したコードの最終的な動作確認やデバッグは、ExcelのVBEで行うのが最も確実です。

代替案:Visual Studio Code + VBA関連拡張機能

もしCursorでの連携がうまくいかない場合や、より実績のある環境を求める場合は、Visual Studio Codeと「XVBA」などのVBA開発支援拡張機能を組み合わせる方法が、外部エディタでのVBA開発環境としては一般的で情報も多く見つかります。

結論として、CursorでExcel VBAを「直接編集・実行」する環境は現在のところ難しいですが、コードの「編集」にCursorを利用し、エクスポート/インポートやVS Code互換の拡張機能を介してExcelと連携させるワークフローを構築することは可能です。まずは、CursorでVS CodeのVBA関連拡張機能が利用できるか試してみることをお勧めします。


ざっくりまとめると、無理、だと言ってますね。

いやいや、そんなことはない。
というか、VSCodeの拡張機能で概ね実現できているという情報は見かけているので。


VSCodeの拡張機能(XVBA - Live Server VBA)の存在を提示

CursorでExcelVBAを直接編集・実行できる環境を構築したい。
拡張機能「XVBA - Live Server VBA」
これで実現できるという情報があります。

Geminiの回答

はい、おっしゃる通り「XVBA - Live Server VBA」というVisual Studio Codeの拡張機能は、Excel VBAを外部エディタで扱いやすくするための主要なツールの一つです。CursorはVisual Studio Codeをベースに開発されているため、この拡張機能をCursorにインストールすることで、Excel VBAの編集・実行環境を構築できる可能性が高いです。

「XVBA - Live Server VBA」を利用することで、以下のようなワークフローを実現できます。
  • Excelファイル内のVBAコード(標準モジュール、クラスモジュール、ユーザーフォームなど)をファイルとして外部にエクスポートする。
  • Cursorでこれらの外部ファイル(.bas, .cls, .frmなど)を編集する。
  • 編集したコードをExcelファイルにインポートし直す。
  • (拡張機能の機能を使って)CursorからExcel VBAのマクロを実行する。
ただし、「Live Server」という名称からリアルタイムの同期機能なども期待されますが、完全にVBEとシームレスに連携するわけではなく、コードのエクスポート/インポートを仲介することで外部エディタでの編集を可能にしていると理解するのが現実的です。また、Cursorでの動作はVS Codeとの高い互換性に基づきますが、Cursor固有の機能や仕様との組み合わせで予期せぬ挙動がないかは実際に試用して確認することをお勧めします。

以下に、「XVBA - Live Server VBA」を使ってCursorでExcel VBAの編集・実行環境を構築するための一般的な手順を示します。

CursorでXVBA環境を構築する手順

この手順はVS Codeでの一般的なXVBAの利用方法に基づいています。Cursorでも同様の手順でセットアップできると考えられます。

ステップ1:Cursorに「XVBA - Live Server VBA」拡張機能をインストールする
  1. Cursorを開きます。
  2. サイドバーの拡張機能アイコン(通常は四角いブロックのようなアイコン)をクリックします。
  3. 検索バーに「XVBA」と入力します。
    検索結果に表示される「XVBA - Live Server VBA」を見つけ、「Install」ボタンをクリックしてインストールします。
ステップ2:Excelファイルの準備
  • 編集したいVBAコードが含まれるExcelファイル(.xlsm, .xlsbなど、マクロが有効な形式)を用意します。
  • もし新規に始める場合は、マクロを保存できる形式でExcelファイルを新規作成してください。
ステップ3:作業フォルダの準備とCursorでの開き方
  1. Excelファイルと、XVBAがVBAコードをエクスポート・管理するためのフォルダを作成する場所を決めます。
  2. Cursorでそのフォルダを開きます。(「File」→「Open Folder」)
ステップ4:「XVBA - Live Server VBA」の設定ファイルを生成・編集する

「XVBA - Live Server VBA」は、どのExcelファイルのVBAコードを扱うかなどを設定ファイルで管理します。
  1. Cursorのサイドバーに「XVBA」または類似の項目が表示されているはずです。これを開くと、XVBA関連のコマンドが表示されます。
  2. コマンドの中から「Bootstrap XVBA Config」または類似のコマンドを選択します。(初期設定を行うコマンド)
  3. 指示に従って、「Create Excel VBA Project」などを選択します。これにより、作業フォルダ内にXVBAが使用する設定ファイル(通常は config.json)やフォルダ構造(VBAコードがエクスポートされるフォルダなど)が生成されます。
  4. 生成された config.json ファイルを開きます。
  5. config.json 内で、対象となるExcelファイルのパスを指定する項目(例: "excel_file": "your_excel_file.xlsm" のような記述)を探し、準備したExcelファイルの正確なパス(作業フォルダからの相対パスまたは絶対パス)を記述します。
ステップ5:ExcelファイルからVBAコードをエクスポートする

編集を開始する前に、Excelファイル内の現在のVBAコードを外部ファイルとしてエクスポートします。
  1. 対象のExcelファイルは閉じている状態にしておきます。(または拡張機能の指示に従ってください。Excelを開いたまま操作できる場合もありますが、閉じた方が安全なことが多いです。)
  2. CursorのXVBAコマンドの中から「Import - VBA」または類似のコマンドを選択します。
  3. 設定ファイルで指定したExcelファイルからVBAコードが抽出され、作業フォルダ内の指定されたサブフォルダに .bas, .cls, .frm, .frx といったファイルとして保存されます。
ステップ6:CursorでVBAコードを編集する
  1. エクスポートされたVBAコードファイル(.basなど)をCursorで開きます。
  2. Cursorの強力な編集機能やAI支援(コード補完、リファクタリング支援、コメント生成など)を活用してVBAコードを記述・修正します。
ステップ7:編集したコードをExcelファイルにインポートし直す

Cursorでコードを編集したら、その変更をExcelファイルに反映させる必要があります。
  1. 対象のExcelファイルは閉じている状態にしておきます。
  2. CursorのXVBAコマンドの中から「Export - VBA」または類似のコマンドを選択します。
  3. 作業フォルダ内のVBAコードファイルの内容が、設定ファイルで指定したExcelファイル内のVBAプロジェクトにインポート(上書き)されます。
ステップ8:Cursorからマクロを実行する(XVBAの機能)

「XVBA - Live Server VBA」には、外部からExcelマクロを実行する機能が含まれていることがあります。
  1. Excelファイルを開きます。
  2. CursorのXVBAサイドバーなどに表示されるマクロリストから、実行したいマクロを選択し、「Run Macro」または類似のボタンをクリックします。
  3. これにより、Excelが自動的に操作され、指定したマクロが実行されます。
ステップ9:Excelでの実行・デバッグ

Cursorからマクロを実行できる場合でも、詳細なステップ実行や変数の確認などのデバッグは、ExcelのVisual Basic Editor (VBE) で行うのが最も確実です。
  1. Excelファイルを開き、Alt + F11キーを押してVBEを開きます。
  2. 必要に応じてブレークポイントを設定し、VBE上でマクロを実行したり、ステップ実行してデバッグを行います。
注意点
  • 「XVBA - Live Server VBA」の正確なコマンド名や手順は、拡張機能のバージョンによって若干異なる場合があります。インストール後に拡張機能のドキュメントやMarketplaceのページを参照することをお勧めします。
  • ExcelファイルとCursorで開いているフォルダ、XVBAの設定ファイルの間のパス指定を正確に行う必要があります。
  • Excelファイルを開いたままエクスポート/インポートを行うとエラーになる場合があります。基本的に操作時はExcelファイルを閉じるか、拡張機能の指示に従ってください。
  • 複雑なVBAプロジェクト(多くのフォームやクラスモジュールを含む場合)の場合、XVBAでの管理が期待通りにいかない可能性もゼロではありません。
  • デバッグに関しては、Cursorから直接高度なデバッグを行うのは難しく、最終的にはVBEでのデバッグが必要になることが多いです。
これらの手順を参考に、「XVBA - Live Server VBA」をCursorに導入し、Excel VBAの編集・実行環境を構築してみてください。CursorのAI支援を受けながらVBAコードを編集できる点で、VBE単体よりも快適に開発できる可能性があります。


とにかく、それらしいことはできるようです。
それでは、環境構築の手順のドキュメントを作成することにします。
ドキュメントを作成もGeminiにお願いします。


Cursorの環境構築ドキュメント作成依頼のプロンプト作成

まずはドキュメント作成依頼のプロンプト作りから
プロンプトの案を考えました。
Cursorで「XVBA - Live Server VBA」を入れてVBAを直接編集できる環境を作成したい。
以下の順に、それぞれの手順の詳細を説明してください。
・Cursorのインストール手順
・「XVBA - Live Server VBA」の入れ方
・Cursorに必要なその他の拡張機能と入れ方
・Cursorの推奨設定と設定方法
・VBA編集方法を具体例とともに詳しく説明
・Cursorで作成したVBAの実行方法
・Cursorで作成したVBAのデバッグ方法

これでも、それなりのドキュメントを出力してくれそうですが、、、
AIに聞いて、もう少しプロンプトを改善しました。
Cursorで「XVBA - Live Server VBA」を使い、Excel VBAを直接(同様の感覚で)編集・実行できる開発環境を構築したいと考えています。
以下の各項目について、順を追って詳しく解説してください。
・Cursorのインストール手順(Windowsのみ)
・「XVBA - Live Server VBA」のインストール方法と初期設定
・VBA開発に必要なその他の推奨拡張機能とその導入方法(例:コード補完、Lint、スニペットなど)
・Cursorの推奨設定と設定方法(VBA開発に最適化された設定を紹介してください)
・CursorでのVBA編集方法(具体例付きで、どのようにコードを書けばよいかを詳しく解説してください)
・Cursorで作成したVBAを実行する手順(Excelとの連携方法も含めて)
・Cursorで作成したVBAをデバッグする方法(ブレークポイント、ログ出力、エラーハンドリングなどを中心に)
上記内容を、初心者でも迷わず構築・操作できるよう、図や例を交えて丁寧に説明してください。


CharGPTにドキュメント作成依頼

ドキュメント作成は、ChatGPTの方が良さそうなので、ここからはChatGPTを使用。

CursorのVBA環境構築手順 CursorでExcelVBAを直接編集・実行できる環境を構築したい。

※画像は先頭だけにしました。


CursorのVBA環境構築手順の完成ドキュメント

以下のドキュメントはCharGPTの出力をそのまま掲載しています。
したがって、実際のインストール時に同じようにできないとか正しくインストールできないということについては筆者は関知いたしません。


Cursorと「XVBA - Live Server VBA」を使用して、Excel VBAの開発環境を構築する手順を、初心者の方にもわかりやすく解説します。

1. Cursorのインストール手順(Windows)

ステップ1:Cursorのダウンロード
  1. Cursorの公式サイトにアクセスします。
  2. 「Download for Windows」をクリックし、インストーラー(例:Cursor Setup -x64.exe)をダウンロードします。
ステップ2:インストールと初期設定
  1. ダウンロードしたインストーラーをダブルクリックして実行します。
  2. インストールウィザードに従い、「Continue」や「Use Extensions」を選択します。
  3. AI機能を利用する場合は、OpenAI APIキーを入力するか、Googleアカウントなどでサインアップします。
  4. インストール完了後、Cursorが自動的に起動します。

2. 「XVBA - Live Server VBA」のインストール方法と初期設定

ステップ1:拡張機能のインストール
  1. Cursorを起動し、左側のサイドバーから「拡張機能」(または Ctrl + Shift + X)を開きます。
  2. 検索ボックスに「xvba」と入力し、「XVBA - Live Server VBA」を見つけて「インストール」をクリックします。
    とあるエンジニアの備忘録
ステップ2:初期設定
  1. Excelで開発タブを有効にし、マクロの設定を「すべてのマクロを有効にする」に変更します。
  2. CursorでVBAプロジェクト用のフォルダを作成し、.bas.cls.frmファイルを配置します。
  3. Cursorの左下にある「XVBA - MACRO LIST」から「Import - VBA」をクリックし、VBAコードをインポートします。

3. VBA開発に必要なその他の推奨拡張機能とその導入方法

  • Code Spell Checker:コード内のスペルミスを検出します。
  • Bracket Pair Colorizer:括弧の対応関係を色分けして表示します。
  • VBA Snippets:よく使うVBAコードのスニペットを提供します。
これらの拡張機能は、Cursorの拡張機能マーケットプレイスから検索してインストールできます。

4. Cursorの推奨設定と設定方法(VBA開発に最適化された設定)

  1. Cursorの設定を開くには、Ctrl + , を押します。
  2. 検索バーに「encoding」と入力し、files.encodingshiftjis に設定します。
  3. 検索バーに「end of line」と入力し、files.eol\r\n に設定します。
  4. 検索バーに「tab size」と入力し、editor.tabSize4 に設定します。

5. CursorでのVBA編集方法(具体例付き)

ステップ1:VBAファイルの作成
  1. Cursorでプロジェクトフォルダを開きます。
  2. 新しいファイルを作成し、拡張子を .bas にして保存します(例:Module1.bas)。
ステップ2:コードの記述
以下は、セルA1に「こんにちは、世界!」と表示するVBAコードの例です。

Sub HelloWorld()
  Range("A1").Value = "こんにちは、世界!"
End Sub
ステップ3:コードの保存とインポート
  1. コードを保存します。
  2. 「XVBA - MACRO LIST」から「Import - VBA」をクリックし、コードをExcelにインポートします。

6. Cursorで作成したVBAを実行する手順(Excelとの連携方法も含めて)

  1. Excelで対象のブックを開きます。
  2. CursorでVBAコードを編集し、保存します。
  3. 「XVBA - MACRO LIST」から該当のマクロ名の横にある「?」ボタンをクリックして実行します。
モダンなExcelVBA開発環境の構築

これにより、Cursorから直接Excelのマクロを実行できます。

7. Cursorで作成したVBAをデバッグする方法(ブレークポイント、ログ出力、エラーハンドリングなど)

ブレークポイントの設定
  1. Cursorでデバッグしたい行の左側をクリックして赤い点(ブレークポイント)を設定します。
  2. マクロを実行すると、ブレークポイントで実行が一時停止します。
ステップ実行
  • F8キーを押すことで、コードを1行ずつ実行できます。
変数の監視
  • 停止中に変数にカーソルを合わせると、その値を確認できます。
ログ出力
  • Debug.Print を使用して、イミディエイトウィンドウにログを出力できます。

    Debug.Print "変数の値: " & myVar

エラーハンドリング
  • エラー処理を追加することで、予期しないエラーに対応できます。

    On Error GoTo ErrorHandler

    ' 処理内容

    Exit Sub

    ErrorHandler:
      MsgBox "エラーが発生しました: " & Err.Description

これらの手順に従うことで、Cursorと「XVBA - Live Server VBA」を活用したExcel VBAの開発環境を構築し、効率的な開発が可能になります。




同じテーマ「生成AI活用研究」の記事

AI(Gemini)とテーマを決めて議論
CursorでVBAを直接?編集・実行できる環境構築について
VBA開発の現場で生成AIはどう使う? そのメリットと潜むリスク
スマートExcel|AI×Excel:AIと進化するExcelの新常識
AI時代におけるRPAとVBAの位置づけ - 補完技術としての役割と未来 -
実務に活かすAIコードとVBA:ビジネス現場の自動化基礎講座
AI活用によるVBA業務自動化の実践ガイド
すぐに使える!生成AI プロンプト作成 実践ガイド
AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門
AI(Gemini)とエクセル数式対決 その1


新着記事NEW ・・・新着記事一覧を見る

第5章:AI×VBAでつまづかない!トラブルシューティングとAIとの付き合い方 |生成AI活用研究(2025-05-20)
第4章:【事例で学ぶ】AIとVBAでExcel作業を劇的に効率化する! |生成AI活用研究(2025-05-20)
第3章:AIを「自分だけのVBA先生」にする!質問・相談の超実践テクニック|生成AI活用研究(2025-05-19)
第2章 VBAって怖くない!Excelを「言葉で動かす」(超入門)|生成AI活用研究(2025-05-18)
第1章:AIって一体何?あなたのExcel作業をどう変える?(AI超基本)|生成AI活用研究(2025-05-18)
AI時代のExcel革命:AI×VBAで“書かない自動化”超入門|生成AI活用研究(2025-05-17)
Geminiと100本ノック 23本目:シート構成の一致確認|生成AI活用研究(5月16日)
AIが問う出版の未来は淘汰か進化か:AIと書籍の共存の道とは|生成AI活用研究(2025-05-16)
Geminiと100本ノック 22本目:FizzBuzz発展問題|生成AI活用研究(5月15日)
すぐに使える!生成AI プロンプト作成 実践ガイド|生成AI活用研究(2025-05-15)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ