excel - 页面设置工具已禁用 - PrintPreview
问题描述
我正在运行一个包含宏的电子表格。在这个宏中有一个用户窗体。此用户窗体有一个按钮,按下该按钮可打开电子表格中数据的打印预览。当我执行“PrintPreview”方法时,页面设置工具的所有按钮都被禁用,如下图所示。
下面是我正在运行的代码
Private Sub Workbook_Open()
UserForm1.Show
End Sub
下面的代码在 UserForm1 中
Private Sub CommandButton1_Click()
Dim MySheet As Worksheet
Application.ScreenUpdating = False
Set MySheet = Worksheets("Plan3")
MySheet.Select
MySheet.Range("$A1:$AI166").Select
MySheet.PageSetup.PrintArea = "$A$1:$AI$166"
ActiveWindow.View = xlNormalView
Application.ScreenUpdating = True
Me.Hide
MySheet.PrintPreview
Me.Show
End sub
我找不到页面设置工具按钮被禁用的原因。有人能帮我吗?
注意 1:此代码在用户表单中。用户窗体被加载到 Workbook_Open() 事件中。
注意 2:当我通过双击文件打开电子表格时,会自动加载用户表单。单击 CommandButton1 按钮将显示打印预览屏幕,但禁用页面设置工具按钮。
如果我打开 Visual Basic 编辑器并运行 Workbook_Open(),单击 CommandButton1 按钮将显示打印预览屏幕并且启用页面设置工具按钮。也就是说,如果宏在 Visual Basic 编辑器打开的情况下运行,则不会发生问题。
注意 3:这只发生在 2007 版的 excel 中。
注4:我通过在“(vbModeless)”模式下打开UserForm1进行了测试。在这种情况下,问题没有发生。但是在我正在开发的应用程序中,我需要以“(vbModal)”模式打开用户窗体。
解决方案
推荐阅读
- asp.net-core - 文件更改不会过期缓存
- jquery - 如何使用 jQuery 仅删除基于 TD 类的表行的子集?
- sql - 查询以获取日期范围和填充数据之间的数据
- javascript - 基于垫选择变化的跨度角动态标志图标
- android-jetpack-compose - 如何更改 Jetpack 撰写导航组件的退栈行为?
- javascript - 将 JavaScript 函数作为带参数的参数传递
- cplex - 如何将 4D 生成的数据从 excelsheet 转换为 OPL CPLEX 表单?
- vue.js - globalProperties 上的 Vue3 反应式组件
- django - Django (drf) 添加新参数/字段仅用于来自数据库的现有查询集(用于输出)的输出
- python - 在运行时修改(或包装)pytest 函数