使用说明
[!小心] 此存储库全部由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推荐的最新方式。
- GitHub的右上图标→
Settings→左菜单最下面Developer settings Personal access tokens→Fine-grained tokens→Generate new token- 设置以下项目:
- 令牌名称:容易理解的名字(例如:
my-excel-vba-token) - 过期:有效期限を设定(90日推奨)
- 资源所有者:我的帐户
- 存储库访问:
Only select repositories-选择目标存储库(All repositories为避免错误覆盖的风险而不推荐) - 仓库权限 →
Contents的 读写 设置为
- 令牌名称:容易理解的名字(例如:
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:从Excelsrc将VBA文件导出到下属(包括Shift-JIS转换)。import_vba_modules:src将下面的文件导入Excel书。
Git / GitHub 操作
git_status,git_add,git_commit,git_log,git_diffgit_branch_list,git_branch_create,git_checkout,git_mergegit_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许可证