从“给一段VBA代码”到“交付一个可安装的插件”

本文内容,已经兼容WPS表格,安装过VBA模板在WPS表格上也可使用

为什么想做这件事?

做过Excel VBA插件交付的朋友都懂这种“最后一公里”的折磨

你费了很大劲把代码写对、测通,然后开始发愁:

要做功能区(Ribbon)吧,得找个第三方工具,还要学它的语法;

要打图标包吧,得学怎么把图片资源塞到Office Open XML的包里,还要改各种关系文件;

要打包成 xlam 吧,还得操心怎么把文件给出去,怎么让别人安装不报错;

最后还要写安装卸载脚本,还要在不同版本的Windows和Excel上都试一圈才敢交差。


传统模式的痛点

传统开发模式里,这些环节往往分散在好几个工具里,中间要手工切好几次。

就算你有AI帮忙写VBA代码,后面几步还是要你自己动手填坑:

要么你得教AI用一堆第三方工具,要么你得自己当那个“最后的执行人”

折腾一圈下来,本来想靠AI提效,结果发现真正累人的不是写代码,而是那些杂七杂八的“交付流程”


我的不一样的尝试

我最近做了一套不一样的尝试。

不是简单给AI一段长长的提示词,而是写了一套完整的 Skill。

这套 Skill 不只是“一份文档指引”,而是一套可复用的脚本骨架 + 完整的交付规则库

  • 给AI一个现成的、已经跑通的模板

  • 后续AI只需要写业务逻辑,框架不用大动刀

  • 甚至可以只小改文案、图标,就能快速生成一个新插件

  • 普通AI只要会写简单VBA,就能在这个基础上干活


为什么选 PowerShell 而不是 Python?

这里还有一个我觉得很有启发的技术选型:

我没有选很多人一上来就想到的 Python,而是选了 PowerShell

为什么选PowerShell?

对于“桌面工具 + Office 插件 + 脚本交付”这个场景,PowerShell 是真的省心:

  • 不需要安装环境,Windows 自带;

  • 不用管各种依赖包的版本冲突,不用怕 pip install 半天装不完;

  • 天然能和 Excel COM 无缝配合;

  • 写注册表、写安装卸载脚本、操作 ZIP 包,这些交付环节的脏活累活,PowerShell 都能很顺手地搞定。


一个关键思路:用“约束”来让AI不出错

更重要的是,我在这套 Skill 里加了一个关键思路:用“约束”来让AI不出错

不是让AI自由发挥,而是给它一套明确的“什么可以做、什么不能做、怎么做更稳”的规则:

  • 什么时候应该做成 xlsm,什么时候应该做成 xlam;

  • 什么时候用 Ribbon,什么时候用工作表里的形状按钮;

  • 中文文件和脚本应该用什么编码;

  • 做完之后应该怎么自己测一遍,再交给用户。

这些规则不是凭空想的,是踩过很多坑之后总结出来的。


现在的体验是什么样的?

把这些规则写进 Skill 之后,现在的体验大概是这样:

1. 用户简短提个需求;

2. AI 先当你的**“产品经理助理”**:帮你把需求聊清楚,帮你确认是当前文件用还是通用插件、要什么入口、给谁用、用几次;

3. AI 再当你的**“开发工程师”**:在这套模板基础上小改,生成完整的 PowerShell 构建脚本;

4. AI 最后当你的**“测试工程师”**:自己用 COM 打开 Excel,写模拟数据,跑一遍核心功能,还会检查一下结果对不对。


全程不需要你做什么?

全程不需要你:

  • 打开 VBA 编辑器;

  • 复制粘贴代码;

  • 用第三方工具画 Ribbon;

  • 手工写注册表脚本;

  • 甚至不需要亲手做测试。

相当于把零散的步骤串成了一条完整的交付链路。


适用范围和一点思考

当然,目前这套玩法主要适用于 Windows + Excel 环境,面向的是有真实 VBA 需求、但不想自己钻太深技术栈的朋友。

做这套东西的过程中,我最大的感受不是技术有多复杂,而是思维方式的变化:

原来总觉得“AI 越自由越好”,现在发现“给 AI 足够的约束,反而能让它更稳定地交付可用的东西”。


最后

如果你对这套玩法有兴趣,想了解更多细节,可以找我聊聊。

广东省
浏览 275
收藏
4
分享
4 +1
1
+1
全部评论 1
 
陈波
陈波

@金山办公

让它更稳定地交付可用的东西
   广东省
举报
0
0