在Excel中为每个页面设置不同的页面页脚

我已经在相应的MSDN文章中testing了示例代码:

Sub WorkWithPages() ' Fill random data: Range("A1", "R100").Formula = "=RANDBETWEEN(1, 100)" Dim pgs As Pages Set pgs = PageSetup.Pages PageSetup.DifferentFirstPageHeaderFooter = True ' Look in the Immediate window for this output: Debug.Print "The current sheet can be printed on " & _ pgs.Count & " page(s)." Dim pg As Page Set pg = pgs(1) pg.CenterHeader.Text = "This is the first page's header" Set pg = pgs(2) pg.CenterFooter.Text = "This is the second page's footer" Set pg = pgs(pgs.Count) pg.CenterFooter.Text = "This is the last page's center footer." pg.LeftHeader.Text = "This is the last page's header" ' Note that Excel supports only distinct headers/footers ' for the first page, so headers and footers on the second ' and other pages are combined--the last value set overwrites ' the header/footer. ' See the values in the Immediate window. ' Note that the code disregards errors that occur--attempting ' to retrieve a header/footer setting that doesn't exist raises an error: On Error Resume Next Debug.Print "First page (CenterHeader) : " & pgs(1).CenterHeader.Text Debug.Print "Second page (CenterHeader): " & pgs(2).CenterHeader.Text Debug.Print "Second page (CenterFooter): " & pgs(2).CenterFooter.Text Debug.Print "Third page (CenterFooter) : " & pgs(3).CenterFooter.Text Debug.Print "Last page (LeftHeader) : " & pgs(pgs.Count).LeftHeader.Text Debug.Print "Last page (CenterFooter) : " & pgs(pgs.Count).CenterFooter.Text ' In conclusion, use the Page class to retrieve information about headers ' and footers for specific pages. Use the PageSetup object to set the headers ' and footers, as it's clearer to set them there. End Sub 

但是由Debug.Print "Second page (CenterFooter): " & pgs(2).CenterFooter.Text行输出的值与预期的不同:

Second page (CenterFooter): This is the last page's center footer

而不是正确的: Second page (CenterFooter): This is the second page's footer

我尝试了不同的东西,但所有的CenterFooter始终保持最后的input值。 我怎样才能改变这种行为,使每个页面获得我想要的确切页脚?

有不同的页脚/页眉configuration,但没有一个允许为每个页面写一个不同的值。 您可以为第一页和不均匀页面编写不同的文本; 你也可以添加一些格式与一定的变化页面(如页码),但这就是它。 在Word中,规则是等同的。

关于您提供的MSDN代码,其评论之一是:

请注意,Excel仅支持第一页的不同页眉/页脚,因此第二页和其他页面上的页眉和页脚合并 – 最后一个值将覆盖页眉/页脚。

因此,这个代码实际上按预期工作; 虽然一见钟情并不太清楚。