首页 > 解决方案 > 页面设置工具已禁用 - 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)”模式打开用户窗体。

标签: excelvba

解决方案


推荐阅读