VBA Excel PageSetup标题未打印

时间:2012-07-19 14:32:02

标签: vba excel-vba excel

我有一些代码可以在Workbook_BeforePrint方法中更新Excel页面标题:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet1")
    ws.PageSetup.LeftHeader = ws.Range("A1").Value
End Sub

Public Sub PrintSheet()
    Worksheets("Sheet1").PrintOut
End Sub

当我打印而不进入打印预览时,标题不会更新。

当我首先打印预览时,会添加标题。

当我打印首先打印预览时,如何确保正确更新页眉?

非常感谢!

2 个答案:

答案 0 :(得分:0)

它对我有用。

确保Worksheets(“Sheet1”)。范围(“A1”)实际上有一些东西。检查工作表名称也确保它是正确的。工作表具有可以通过UI更改的Name属性以及可以通过代码或“属性”对话框更改的CodeName属性。仔细检查一下你是不是在混淆它们。您的代码Worksheets(“Sheet1”)使用Name属性(选项卡名称)。

另外,请确保您没有在某些调用过程中禁用事件。您可以在PrintSheet中添加一个语句,如

Debug.Print Application.EnableEvents

确保堆栈中的某些内容不会禁用事件。

答案 1 :(得分:0)

在更改标题后,尝试添加“ Application.PrintCommunication = True”行