【发布时间】:2020-07-22 18:59:42
【问题描述】:
我想使用 VBA 为应打印的 Excel 2013 工作表的第一页设置不同的页眉和页脚。页眉和页脚应包含页码、活动工作表的名称和文件名等信息。有关格式代码的官方 Microsoft 文档 (https://docs.microsoft.com/en-us/office/vba/excel/concepts/workbooks-and-worksheets/formatting-and-vba-codes-for-headers-and-footers) 为此提供了各种选项,并且所有这些格式代码在每个页面上都能正常工作,除了第一个页面 - 它们似乎分配不同(例如,“&N”应该显示数字页数,但显示文件名)。如何为首页页眉/页脚使用正确的格式代码?
我尝试将这些格式代码分配给常量,但这不起作用,因为代码仅在包含在页眉或页脚字符串中时才会被解析。我还在手动更改标题时录制了一个宏(可以正常工作),但该宏也不会产生正确的输出。
Sub formatCodesTest()
With ActiveSheet.PageSetup
.DifferentFirstPageHeaderFooter = True
.FirstPage.LeftHeader.Text = "&N"
End With
ActiveSheet.PrintPreview
End Sub
我希望输出是页数(如 Microsoft 文档中所述),但实际输出是文件名。
【问题讨论】:
-
您的代码在 Excel 2010 和 2013 中运行良好。了解您使用的 Excel 版本可能很有用。
-
在 2016 年也能正常工作,你确定标题是空白的吗?有没有检查自定义的header接口,确保没有&F
-
@cybernetic.nomad 我使用 Excel 2013。我再次尝试使用新文件和空白标题,但问题仍然存在,标题 GUI 还显示“&[Datei]”(德语表示“& [File]") 而不是 "&[Seiten]" ("&[Pages]")。这可能是语言环境问题吗?我还查看了所有看起来相关的设置,但没有发现任何看起来不合适的设置。
-
我可以确认 Excel 2019 的这个错误。我也在德语区域设置。