VBAYYDS WorkBuddy 自动生成工单窗体

3 次浏览

VBAYYDS WorkBuddy 自动生成工单窗体

不会写 VBA,也可以做出能直接运行的 Excel 窗体。关键不是背语法,而是把业务需求说清楚,再让 VBAYYDS 语音编程助手与 WorkBuddy 完成工程读取、窗体绘制、代码生成和写回验证。

这篇文章用案例 0068 展示一次完整结果。我们只提出“为工单台账生成进度更新与异常登记窗体”,系统随后生成 UserForm 和 VBA 代码。成品能够读取工单、计算进度、校验输入、登记异常、回写台账并保留明细记录。

VBAYYDS 和 WorkBuddy 如何配合

两个工具承担不同工作,并通过同一份 VBA 工程衔接。

工具 主要作用 可以看到的结果
VBAYYDS 语音编程助手 连接 VBA 编辑器与工作区,复制工程并同步生成内容 UserForm 窗体、标准模块、窗体代码
WorkBuddy 读取工作簿字段和业务规则,根据自然语言持续生成与修正 窗体定义、VBA 代码、测试过程和修正结果

使用者需要做的事情很少:打开 VBA 编辑器,点击 VBAYYDS 菜单,然后用自然语言描述想要的功能。后面的界面和代码都能在真实工程中检查和继续修改。

先让系统理解工作簿

本案例的工作簿包含 工单台账、业务参数 和 进度记录 三张主要工作表。工单台账保存当前状态,业务参数保存日期与枚举值,进度记录负责保留每次变更。

VBAYYDS WorkBuddy 自动生成工单窗体

工单台账和生成后的登记窗体

演示工单为 WO-006。更新前计划数量是 500,累计完成 360,完成率是 72.0%,风险为“延期风险”,状态为“生产中”。这组数据既能验证正常写回,也能检查数量越界、异常原因缺失和重复提交。

从 VBA 编辑器进入 VBAYYDS

在 VBA 编辑器中点击 VBAYYDS 菜单,将当前工程复制到 WorkBuddy 工作区。工作表类模块、标准模块、UserForm 和工程配置会一起进入工作区,WorkBuddy 因此能够基于现有文件继续工作。

VBAYYDS WorkBuddy 自动生成工单窗体

在 VBA 编辑器中点击 VBAYYDS 菜单

进入 WorkBuddy 后,我说出的需求是:请读取当前工作簿,为工单台账生成一个进度更新与异常登记窗体。窗体要能加载工单、预览更新、校验完成数量、登记异常原因、二次确认,并把结果同步写入工单台账和进度记录。

一句需求已经包含业务目标和验收条件,不需要先写控件清单,也不需要手工搭建空白窗体。

VBAYYDS WorkBuddy 自动生成工单窗体

WorkBuddy 读取工程并生成窗体定义

窗体和代码自动生成

WorkBuddy 先读取工作簿字段,再生成窗体定义。VBAYYDS 根据定义绘制真实 UserForm,控件名称、尺寸和布局都可以检查。确认界面后,系统继续补齐加载、预览、确认写回和异常处理代码。

VBAYYDS WorkBuddy 自动生成工单窗体

自动生成的 UserForm 设计预览

最终窗体包含工单编号、更新日期、本次完成数量、更新状态和异常原因。只读区域同时显示产品、计划数量、已完成数量、剩余数量、完成率、风险以及更新前后的状态和累计数。

这不是一张效果图。生成结果已经写入 VBA 工程,可以在编辑器里看到模块和事件过程,也可以直接运行。

VBAYYDS WorkBuddy 自动生成工单窗体

在 VBA 编辑器中查看自动生成的代码

生成代码覆盖真实业务规则

系统生成的代码会从工单台账查找编号,并把最新数据装入窗体。关闭后再打开,窗体仍从工作表读取,不依赖上一次运行留下的内存值。

Public Sub 加载工单()
    Dim 编号 As String, r As Long
    编号 = Trim(Me.Tb工单编号.Text)
    r = 查找工单行(编号)
    If r = 0 Then
        Me.Tb状态前.Text = "未找到工单:" & 编号
        Exit Sub
    End If
    m计划数量 = CDbl(Sheet1.Cells(r, 5).Value)
    m累计前 = CDbl(Sheet1.Cells(r, 6).Value)
    Me.Tb剩余量.Text = CStr(m计划数量 - m累计前)
End Sub

写回之前,代码会检查重复记录、剩余数量和异常原因。成功写回后再次提交相同的工单、日期、数量和状态,会明确提示“重复提交”,并保持记录条数不变。

If 已存在记录(Me.Tb工单编号.Text, 更新日期, 本次, 新状态) Then
    Me.Tb状态前.Text = "重复提交"
    Exit Function
End If

If 本次 > (m计划数量 - m累计前) Then
    Me.Tb状态前.Text = "超过剩余量 " & (m计划数量 - m累计前)
    Exit Function
End If

If 需异常 And Trim(Me.Tb异常原因.Text) = "" Then
    Me.Tb状态前.Text = "异常原因必填"
    Exit Function
End If

VBAYYDS WorkBuddy 自动生成工单窗体

完成数量超过剩余量时自动拦截

这段代码说明生成结果并非只有按钮事件。它已经包含数据读取、数量校验、异常拦截、完成率计算、风险判断、二次确认、台账写回、明细追加和失败回滚。

写回前先看清变化

点击“预览更新”时,窗体只计算新累计数、完成率、风险和状态,工作表暂时不变。点击“确认写回”后,系统再次列出更新前后的关键值。

VBAYYDS WorkBuddy 自动生成工单窗体

写回前显示累计完成率风险和状态变化

这次更新把 WO-006 的本次完成数量设为 140,新状态设为“已完成”,异常原因填入“换线延误”。确认后,主台账和进度记录同步更新。

核对项 更新前 更新后
累计完工数量 360 500
完成率 72.0% 100.0%
风险 延期风险 已完成
状态 生产中 已完成
进度记录编号 无 PG20260905-001

VBAYYDS WorkBuddy 自动生成工单窗体

工单台账中的 WO-006 已更新

进度记录 表新增 PG20260905-001。记录中包含工单编号、产品、更新日期、本次完成数量、更新前后累计数、更新前后风险、异常原因和登记时间。主台账负责当前值,明细表负责追溯每次变化。

VBAYYDS WorkBuddy 自动生成工单窗体

进度记录表新增一条可追溯明细

关闭并重新打开窗体后,WO-006 仍然显示累计完成 500、完成率 100.0% 和状态“已完成”。这证明数据已经真实写回工作簿。

VBAYYDS WorkBuddy 自动生成工单窗体

重新打开窗体后读取到最新数据

自动生成带来的实际变化

传统做法需要手动画控件、逐个命名、编写事件代码,再反复定位错误。VBAYYDS 与 WorkBuddy 把这些步骤合并到同一次对话中,使用者可以把注意力放在字段、规则和验收结果上。

  • 不需要从空白 UserForm 开始摆放控件
  • 不需要逐行编写数据查找和写回代码
  • 可以直接查看并继续维护生成的 VBA 源码
  • 可以用真实工作表数据验证成功路径和异常路径

这套方式尤其适合已经在 Excel 中维护台账,却因为不会写 VBA 而长期依赖手工录入的人。它也适合懂业务但编程时间有限的管理人员和办公自动化人员。

可以继续复用的业务场景

案例 0068 使用的是工单进度,但同一套方法可以迁移到设备保养、质检登记、采购到货、客户跟进、合同节点、应收回款和项目任务。只要工作簿中有明确字段,业务规则能够说清楚,就可以让系统生成对应的窗体和代码。

开始时只需完成四步。

  1. 打开需要改造的 Excel 或 WPS 工作簿
  2. 进入 VBA 编辑器并点击 VBAYYDS 菜单
  3. 在 WorkBuddy 中说出窗体用途和业务规则
  4. 检查生成的窗体代码和真实写回结果

用说话的方式完成 VBA 开发

案例 0068 已经给出一个可运行结果。自然语言需求经过 VBAYYDS 和 WorkBuddy 后,变成了真实 UserForm、完整 VBA 代码以及可追溯的台账更新。

如果你有一份正在使用的 Excel 台账,可以从最熟悉的业务开始,把“我要录入什么、需要检查什么、最后写到哪里”说出来。VBAYYDS 加 WorkBuddy 会把这段话继续变成可以运行和修改的 VBA 工程。

VBAYYDS WorkBuddy 自动生成工单窗体插图11

工具名称:VBAYYDS语音编程助手
适合人群:常用Excel且希望自动化操作但不想深学VBA的职场人
体验方式:下载地址vbayyds.com
✨ 让Excel听懂你的需求,或许只需要一次尝试。
✨ 你的时间,值得用在更值得的事情上。
官网下载地址 vbayyds.com
淘宝搜索 vbayyds
购买方式 加微信EXCEL880B
VBAYYDS WorkBuddy 自动生成工单窗体插图12