excel - 在动态创建的工作表中创建动态按钮
问题描述
我已经在此工作表中动态创建了一个新工作表和 2 个新按钮(不是在用户窗体上),如何为这两个新按钮调用单击事件?
我只需要 2 个按钮并且我知道它们的名称,但是我无法将 button_click 代码放在 Microsoft Excel 对象中,因为它是动态创建的。我已经尝试创建一个类模块,但是我得到一个提示,该对象不支持自动化。
任何人都可以帮忙吗?
Set ws = ThisWorkbook.Sheets.Add
ws.Name = TableName
ws.Activate
Set UploadButton = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)
With UploadButton
.Name = "UploadButton"
.Object.Caption = "Upload"
.Top = 0
.Left = 0
.Width = 100
.Height = 20
.Placement = xlMoveAndSize
.PrintObject = True 'or false as per your taste
End With
Set CancelButton = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)
With CancelButton
.Name = "CancelButton"
.Object.Caption = "Cancel"
.Top = 0
.Left = 120
.Width = 100
.Height = 20
.Placement = xlMoveAndSize
.PrintObject = True 'or false as per your taste
End With
我想运行这个
Private Sub UploadButton_Click()
MsgBox "Co-Cooo!"
End Sub
解决方案
推荐阅读
- javascript - 将 id 添加到孩子并将它们存储为数组以列出
- c# - For循环在模型视图ASP.NET MVC C#
- javascript - 如何将 v-bind 的值更新为 prop?
- javascript - 每次组件重新渲染时,如何在 useEffect 中触发加载事件侦听器?
- ffmpeg - 连接 2 个不同图像大小的多轨视频
- node.js - 从 Node.js 中的 sendGrid 发送电子邮件时出现“UnhandledPromiseRejectionWarning:错误:禁止”
- c++ - 是否可以使用 WinHttp API 编写 C++ 客户端来接收来自 HTTP 服务器的推送通知?
- html - 在 CSS 中使用位置并计算高度
- visual-studio-code - VScode 自动完成功能不适用于 CSS 文件
- c# - 在 C# 和 MySQL 中使用 Dapper 进行查询