周一至周五 : 08:30 - 17:30 客服专员电话/微信:17301649370 QQ:2902102332
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
AI VBA
显示全部楼层 倒序浏览 发表日期 2025-04-01 14:28:53 165次阅读 0次回复
本帖最后由 快表帝国客服01 于 2025-4-1 14:46 编辑

Office Visual Basic for Applications (VBA) 是事件驱动的编程语言,借助它可以扩展 Office 应用。WebVBA是由快表软件发明的,能实现在浏览器中编写VBA驱动快表模板应用。快表WebVBA遵循的是VB.NET语言语法规则,与ExcelVBA遵循的VB语法上有些许差别,VB语法随意性大,书写不合理编译可通过,但使用时出错难调试。微软VB.NET,依托在.Net Framework框架基础上,功能更强大,代码更规范,效率更高效。
在快表WebVBA中我们进一步将常用的操作封装为菜单,在编写时通过菜单选择即可编码,极大的降低了学习难度。随着自然语言处理技术AI大模型的迅速发展,过去传统的编码模式的效率已经无法与AI编码相比。快表WebVBA也是迅速做了功能上的适配,扩展了编码的方式,实现AI智能编码。
本篇将教会您如何在快表WebVBA中通过AI编写代码。

操作步骤
  • 进入 【设计】 打开 【命令代码】 并切换到VBA选项卡。
  • 在要编写代码的事件区域输入要求,并将光标停留在当前行。
  • 点击底部的 【AI】 按钮生成。
后续的编译调试与之前的方法一致。

示例:弹出所选单元格的地址
  • 在RangeSelection事件区域,输入要求提示词弹出一个提示框显示所选中的单元格地址,然后点击底部的 【AI】 按钮菜单。
  • 生成语句如下

  1. EV.GetLock()
  2.         Dim cell As IRange = EV.RangeSelection
  3.         MessageBox.Show("选定单元格地址: " & cell.Address)
  4. EV.ReleaseLock()
复制代码


  • 编译运行后,选中单元格则提示选定单元格地址: $G$15


示例:在限定区域内弹出所选单元格地址和内容
  • 在RangeSelection事件区域,输入要求提示词当前事件是选择事件,当选中C5:J14区域内的一个单元格时,弹出提示框,提示的内容是所选择的单元格地址和单元格内容,然后点击底部的 【AI】 按钮菜单。


快表AI VBA弹出提示框
  • 生成语句如下

  1. EV.GetLock()
  2.         Dim cell As IRange = EV.RangeSelection
  3.         If Not (cell.Intersect(Range("C5:J14")) Is Nothing) Then
  4.                   Dim msg As String = "你选择了单元格:" & cell.Address & vbCrLf & "单元格内容为:" & cell.Value.ToString()
  5.                   Messagebox.show(msg)
  6.         End If
  7. EV.ReleaseLock()
复制代码




快表AI VBA弹出提示框效果
  • 在ButtunClick事件区域,输入要求提示词 如果点击按钮时,如果K11单元格的值为0,则在K13单元格填入王军,K14单元格填入同意,K15单元格填入当前日期,否则弹出提示,提示内容为请再次审核。,然后点击底部的 【AI】 按钮菜单。

AI生成VBA按条件给单元格赋值
  • 生成语句如下
  1. EV.GetLock()
  2. Dim cell As IRange
  3. cell = AW.ActiveWorksheet.Range("K11")
  4. If cell.Value = 0 Then
  5.         AW.ActiveWorksheet.Range("K13").Value = "王军"
  6.         AW.ActiveWorksheet.Range("K14").Value = "同意"
  7.         AW.ActiveWorksheet.Range("K15").Value = Date.Today
  8. Else
  9.         MsgBox("请再次审核", vbExclamation)
  10. End If
  11. EV.ReleaseLock()
复制代码

  • 编译运行后,如果单元格的值为0,则会给K13、K14、K15单元格赋值,否则则会给出提示。

AI生成VBA按条件给单元格赋值效果

示例:明细表生成标签
  • 在ButtunClick事件区域,输入要求提示词 点击按钮1的时候,将明细表区域T_2431中每一行数据,在sheet2第3列,第5行开始,分别生成一个表格,表格的标题在第一列,值在第二列,表格的标题为明细表上方一行的文本,数据为每一行的值。生成的表格边框设置为蓝色,细边框。每个表格之间留两行空行。,然后点击底部的 【AI】 按钮菜单。
快表AI VBA 明细表生成标签
  • 生成语句如下

  1. If e.Shape.Name = "Button 1" Then
  2.         EV.GetLock()
  3.         Dim cell, row As IRange
  4.         Dim startRow As Integer = 5
  5.         Dim startColumn As Integer = 3
  6.         Dim sheet2 As IWorksheet = AW.Worksheets("Sheet2")
  7.         Dim detailTable As IRange = Range("T_2431")
  8.         Dim titleRow As IRange = AW.Worksheets("Sheet1").Range("C13:I13")
  9.         For Each row In detailTable.Rows
  10.                 Dim currentRow As Integer = startRow
  11.                 For colIndex As Integer = 0 To row.ColumnCount - 1
  12.       sheet2.Cells(currentRow, startColumn).Value = titleRow(0, colIndex).Value
  13.       sheet2.Cells(currentRow, startColumn + 1).Value = row(0, colIndex).Value
  14.       currentRow += 1
  15.                 Next

  16.                 ' 设置表格线条
  17.                 Dim tableRange As IRange = sheet2.Range(sheet2.Cells(startRow, startColumn).Address + ":" + sheet2.Cells(currentRow - 1, startColumn + 1).Address)
  18.                 tableRange.Borders.ColorIndex = 22
  19.                 tableRange.Borders.LineStyle = SpreadsheetGear.LineStyle.Continuous

  20.                 ' 留两行空行
  21.                 startRow = currentRow + 2
  22.         Next

  23.         EV.ReleaseLock()

  24. End If
复制代码



  • 编译运行后,点击Sheet1按钮,则会在Sheet2生成多个表格。

快表AI VBA 明细表生成标签测试原数据

批量导入数据支持ID测试生成效果


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |