Excel VBA Git同步工具

一个用于将Excel VBA代码与Git同步的MCP服务器工具,支持通过AI助手进行代码导出、导入及Git操作。

  • by oe-jp
  • PowerShell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 oe-jp/vba-git-mcp

使用说明

[!小心] 此存储库全部由AI工具创建。没有进行任何代码审核,也没有运行保证。 请在使用生产文件之前进行充分的测试,并自行负责。 ※只进行非常简单的动作确认。

Excel VBA Git MCP服务器

它是一种MCP(Model Context Protocol)服务器,用于在Git中管理Excel的VBA代码,并顺利地与GitHub同步。 您可以通过AI助手(如Claude)导出和导入Excel书中的VBA,或执行Git命令(commit、push、pull等)。


📐 机制

flowchart LR
    VBE["VBE\n(Visual Basic Editor)"]
    Excel["Excel ブック\n(.xlsm)"]
    src["src/ フォルダ\n(VBA ソースファイル)"]
    local["Git リポジトリ\n(ローカル)"]
    GitHub["GitHub\n(リモート)"]

    VBE -- "VBA を編集" --> Excel
    Excel -- "export_vba_modules" --> src
    src -- "import_vba_modules" --> Excel
    src -- "git add + commit" --> local
    local -- "git push" --> GitHub
    GitHub -- "git pull" --> local

VBA代码始终为 在Excel侧(VBE)编辑 使用此工具 src/ 中所述修改相应参数的值。src/ 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。


💻 动作前提

所需软件

软件,用途 |-------------|------|--------| | Microsoft Excel | VBAの编集・実行| Microsoft 365等| 运行MCP服务器 nodejs.org | |Git|版本控制| git-scm.com | |GitHub命令行界面(gh)| GitHub认证| cli.github.com |

Excel设置(必需)

需要允许访问VBA项目的设置。

ファイル → オプション → トラスト センター → トラスト センターの設定 → マクロの設定 → “信任对VBA项目对象模型的访问” 检查


🔐 GitHub的准备

这是一个使用GitHub与云存储团队共享代码的初始设置。

1.创建GitHub帐户

github 来定义自定义外观。

2.创建GitHub存储库

在GitHub的仪表板右上角的 + → New repository 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

  • 仓库名称:项目名称(例如: my-excel-vba)
  • 能见度:选择私有或公共
  • README,.gitignore等的初始化 不做(使用此工具)

3.获取人员访问权限Token(PAT)

GitHub命令行界面(gh)登录时使用PAT。细粒度个人访问令牌(细粒度令牌)是GitHub推荐的最新方式。

  1. GitHub的右上图标→ Settings →左菜单最下面 Developer settings
  2. Personal access tokens → Fine-grained tokens → Generate new token
  3. 设置以下项目:
    • 令牌名称:容易理解的名字(例如: my-excel-vba-token)
    • 过期:有效期限を设定(90日推奨)
    • 资源所有者:我的帐户
    • 存储库访问: Only select repositories -选择目标存储库(All repositories为避免错误覆盖的风险而不推荐)
    • 仓库权限 → Contents 的 读写 设置为
  4. Generate token 单击以复制显示的标记字符串(只显示一次) →在工作文件夹外保存文本文件等,在充分注意流出的同时,也可以保存为下次登录。

4.用GitHub CLI登录

打开命令提示符或PowerShell,然后执行以下操作:。

gh auth login

在交互式中进行设置。

? What account do you want to log into?  → GitHub.com
? What is your preferred protocol?       → HTTPS
? Authenticate Git with your GitHub credentials? → Yes
? How would you like to authenticate?    → Paste an authentication token
Tip: ...
? Paste your authentication token: ▌   ← コピーしたトークンを貼り付ける

下一个 git push / git pull 进行动态观察时的轴心点。


🚀 快速启动(安装)

通过GitHub直接作为MCP服务器添加使用是最简单的。 配置文件(如Claude Desktop)mcp_config.json)中添加以下内容。

{
  "mcpServers": {
    "excel-vba-git": {
      "command": "npx",
      "args": [
        "-y",
        "github:oe-jp/vba-git-mcp"
      ]
    }
  }
}

📚 Git基础知识

我将尽可能地解释在使用该工具时应该知道的Git概念。

用语集

用语 一言说明
仓库 保存所有代码和更改历史记录的“项目文件夹”。本地(PC上)和远程(GitHub上)
承诺 保存点为“此时的代码是这样的”。加上信息进行记录
分支 工作的分支。在不破坏主代码的情况下尝试新功能,或者多人用于并行作业
推送 将本地提交发送到GitHub(远程)的操作
牵引 在本地捕获GitHub的最新更改的操作
合并 将一个分支的更改合并到另一个分支的操作

标准工作流

每次的工作周期如下。

flowchart TD
    A["① VBE で VBA コードを編集"]
    B["② AI に export_vba_modules を依頼\n→ src/ に書き出す"]
    C["③ AI に git_commit を依頼\n(例: 「検索機能を追加」)"]
    D["④ AI に git_push を依頼\n→ GitHub へ反映"]

    A --> B --> C --> D --> A

[!提示] 勤恳地提交是诀窍。每项更改都提交一次,这样您就可以更容易地知道在以后返回时做了什么。


💬 AI请求示例(提示集)

通过委托AI助手(Claude等)如下,可以活用功能。

1.启动项目

「このフォルダにある `.xlsm` ファイルを Git 管理したいので、`initialize_workspace` で初期化して、今の VBA コードを `export_vba_modules` で `src` フォルダに書き出してください」

2.记录(提交)更改

「Excel で VBA を修正したので、`export_vba_modules` でソースファイル群を更新し、Git で『ログイン機能の追加』というメッセージでコミットしてください」

3.反映在GitHub上

「現在の変更を GitHub に反映したいので、`git_push` してください。必要なら `git_remote_set` でリモート URL を設定してからお願いします」

4.将最新代码导入Excel

「GitHub の最新コードを `git_pull` して、それを `import_vba_modules` で Excel ブックに反映させてください」

5.建立新的工作分支

「新機能の開発用に `feature-search` というブランチを `git_branch_create` で作って切り替えてください」

📖 提供工具列表

工作区管理

  • initialize_workspace:启动工作文件夹初始化和Git管理。
  • inspect_workspace:确定当前帐簿和Git的状态。

VBA 同期

  • export_vba_modules:从Excel src 将VBA文件导出到下属(包括Shift-JIS转换)。
  • import_vba_modules: src 将下面的文件导入Excel书。

Git / GitHub 操作

  • git_status, git_add, git_commit, git_log, git_diff
  • git_branch_list, git_branch_create, git_checkout, git_merge
  • git_remote_list, git_remote_set, git_fetch, git_pull, git_push

⚠️ 【重要】关于src文件夹文件的处理

src 不要无意中在编辑器中打开或覆盖文件夹中的文件(.bas,.cls,.frm等)。

Excel VBA日语 日文 格式。该MCP服务器采用了在UTF-8进行Git管理的同时,与Excel同步时转换为Shift-JIS的结构。

  • 在VSCode等编辑器中打开,自动作为UTF-8保存
  • 编辑器的扩展功能等会随意变更末尾的换行代码

如果执行这些操作,则在导入VBA时 乱码 来修改标记元素的显示属性工作簿损坏 的明细栏样式中定义的设置。 代码的阅览和编辑必须在Excel侧的VBE(Visual Basic Editor)中进行 export_vba_modules 通过工具 src 请吐出。


⚠️ 制约

  • 如果VBA项目受密码保护,则无法同步。
  • 对GitHub的认证gh auth login 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
  • Microsoft Excel Objects (Sheet1,ThisWorkbook等)通过替换代码内容而不是替换模块来同步。

📄 许可证

MIT许可证