excel - 如何让 VBA 在另一个工作簿中的用户窗体上选择一个按钮?
问题描述
因此,我正在使用主工作簿中的 VBA 创建数千个工作簿。我有一个 Vba 粘贴到的模板。此模板工作簿具有 VBA
BeforeSave
用户必须填写用户表单以记录用户决定在该会话期间进行的更改的功能。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet
Set ws = Sheets("EDITS")
Dim tbl As ListObject
Set tbl = ws.ListObjects("Table1")
Dim newrow As ListRow
Set newrow = tbl.ListRows.Add
SavePrompt.Show
With newrow
.Range(1) = Now
.Range(2) = SavePrompt.TextBox1.Text
End With
End Sub
我现在的问题是我运行的 VBA 在主工作簿中。(只是为了清楚)它打开模板,从主工作簿复制第 5 行并粘贴到模板工作簿第 2 页上的第 4 行,然后保存..
wkbDest.SaveAs Filename:=Path & FileName2 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
这是问题,因为 BeforeSave VBA 运行,打开一个用户窗体。我怎样才能让这个主 VBA 在现在打开并暂停宏的用户窗体上选择 CommandButton1?
然后关闭..
wkbDest.Close
解决方案
根据我的评论,我建议在保存之前禁用事件
Application.EnableEvents = False
wkbDest.SaveAs Filename:=Path & FileName2 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.EnableEvents = True
并且由 BeforeSave 事件触发的代码将不会运行。
推荐阅读
- google-apps-script - 电子表格。调整 sum 函数的脚本
- python - 响应式 HTML 网站在较小的设备或屏幕上为标题生成“黑色”背景
- javascript - 如何获得文件阅读器的结果
- python - 如何使用 sqlite 和 python 逐步编写增量查询?
- javascript - Elasticsearch - 在评分结果时找到最接近的数字
- python - ubuntu 环境下项目设置错误
- c# - 无法将 wpf 中的数据网格转换为 csv 而不会丢失阿拉伯值
- python - 在输入功能中,如何确保用户只输入精确到小数点后 2 位的数字?
- faunadb - 如何使用 FaunaDB Shell 打开我的子数据库?
- python - 如何通过在后台检测到按键来打破无限循环?