Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未打印VBA Excel页面设置标题_Vba_Excel - Fatal编程技术网

未打印VBA Excel页面设置标题

未打印VBA Excel页面设置标题,vba,excel,Vba,Excel,我有一些代码来更新工作簿中的Excel页眉。\u BeforePrint方法: 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("

我有一些代码来更新工作簿中的Excel页眉。\u BeforePrint方法:

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
当我在不首先进入打印预览的情况下打印标题时,标题不会更新

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

如何确保在使用“先打印预览”打印时正确更新页眉


非常感谢

对我来说,它起到了预期的作用

确保工作表Sheets1.RangeA1中确实包含某些内容。同时检查图纸名称,确保其正确无误。工作表具有可通过UI更改的名称属性和可通过代码或“属性”对话框更改的代号属性。仔细检查,确保你没有混淆它们。您的代码WorksheetsSheets1使用名称属性选项卡名称

另外,确保在某些调用过程中没有禁用事件。您可以在打印纸中放入语句,如

Debug.Print Application.EnableEvents

以确保堆栈中的某些内容没有禁用事件。

对我来说,它起到了预期的作用

确保工作表Sheets1.RangeA1中确实包含某些内容。同时检查图纸名称,确保其正确无误。工作表具有可通过UI更改的名称属性和可通过代码或“属性”对话框更改的代号属性。仔细检查,确保你没有混淆它们。您的代码WorksheetsSheets1使用名称属性选项卡名称

另外,确保在某些调用过程中没有禁用事件。您可以在打印纸中放入语句,如

Debug.Print Application.EnableEvents

确保堆栈中的某些内容没有禁用事件。

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

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

您是否检查了在更改标题时是否实际执行了事件代码通过放置中断打印?是否尝试将代码直接放入PrintSheet子例程中?是的,将执行BeforePrint代码并设置页眉。但是,它仅在我进行打印预览时生效。当我在代码中设置标题后立即在即时窗口中执行?ws.PageSetup.LeftHeader时,它返回一个空字符串。如果我在方法本身中执行它,它确实有效。您是否检查了事件代码是否在打印时通过放置一个中断符来实际执行?是否尝试将代码直接放入PrintSheet子例程中?是的,将执行BeforePrint代码并设置页眉。但是,它只在我进行打印预览时生效。当我在代码中设置标题后立即在即时窗口中执行?ws.PageSetup.LeftHeader时,它返回一个空字符串。如果我在方法本身中执行此操作,它确实有效。这非常奇怪。首先,它对我不起作用,我遇到了与Aetherix相同的问题,当我手动尝试它时,有一次,它在读取PreforePrint方法之前按预期工作,同时还有VBA BeforePrint事件。然后,当我更改BeforePrint事件方法Thisworkbook中的LeftHeader并尝试通过VBA发出打印命令时,它不想再读取BeforePrint事件。我无法解释那种行为。。。在常规模块中发出打印命令VBA之前进行页眉设置时,它似乎总是与我一起工作。@Dick您是打印的还是刚进入页面预览?如果我使用PrintOut命令并将Preview参数设置为true,它就会工作。如果我不去页面预览就打印,它将无法工作。如果我把代码放在工作簿\u BeforePrint方法之外,一切都会好起来……这很奇怪。首先,它对我不起作用,我遇到了与Aetherix相同的问题,当我手动尝试它时,有一次,它在读取PreforePrint方法之前按预期工作,同时还有VBA BeforePrint事件。然后,当我更改BeforePrint事件方法Thisworkbook中的LeftHeader并尝试通过VBA发出打印命令时,它不想再读取BeforePrint事件。我无法解释那种行为。。。在常规模块中发出打印命令VBA之前进行页眉设置时,它似乎总是与我一起工作。@Dick您是打印的还是刚进入页面预览?如果我使用PrintOut命令并将Preview参数设置为true,它就会工作。如果我不去页面预览就打印,它将无法工作。如果我把代码放在工作簿\u BeforePrint方法之外,一切都会好的。。。