我想用VBA为应打印的Excel 2013工作表的第一页设置不同的页眉和页脚。页眉和页脚应包含页码、活动工作表名称和文件名等信息。微软关于格式码(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文档中所描述的那样),但实际输出是文件名。
发布于 2019-06-05 19:02:52
我现在已经设法解决了这个问题。在图形用户界面中手动输入页眉/页脚,然后使用即时窗口(Crtl+G)来调试和查询相关页眉(例如? ActiveSheet.PageSetup.FirstPage.RightHeader.Text)的内容,而不是依赖于微软文档。这将为您提供正确的格式代码。
如果其他人知道为什么会发生这种情况(以及为什么其他人不能复制它),我很乐意接受这个答案。
发布于 2020-07-22 18:59:43
我在Excel 2019中遇到了同样的问题:我想在右边的页脚显示“第1页,共5页”。因为它只涉及第一页的特殊设置,所以我这样解决了它:
ActiveSheet.PageSetup.FirstPage.RightFooter.Text = "Page 1 of " + Trim(Str(ActiveSheet.PageSetup.Pages.Count))请注意,这仅在填充单元格、更改页面布局、添加由VBA代码完成的手动分页符的情况下才有效,因为在Excel之前,现在不能提供正确的页数。
https://stackoverflow.com/questions/56450784
复制相似问题