Excel互操作:格式化页脚

Excel互操作:格式化页脚,excel,interop,format,footer,Excel,Interop,Format,Footer,我正在使用Microsoft.Office.Interop.Excel从C#创建一个Excel工作表,但我无法按用户希望的方式获取页脚 1) 如何以粗体显示页脚文本? 2) 我如何在页脚中输入页码?(将"Page"[Page]"作为文本输入不起作用.) 可能吗?不可能?1)worksheet.PageSetup.LeftFooter=“&B粗体文本&B” 2) worksheet.PageSetup.CenterFooter=“Page&p” 提示-打开Excel并通过UI设置所需的页脚,记录所

我正在使用Microsoft.Office.Interop.Excel从C#创建一个Excel工作表,但我无法按用户希望的方式获取页脚

1) 如何以粗体显示页脚文本? 2) 我如何在页脚中输入页码?(将"Page"[Page]"作为文本输入不起作用.)

可能吗?不可能?

1)
worksheet.PageSetup.LeftFooter=“&B粗体文本&B”

2)
worksheet.PageSetup.CenterFooter=“Page&p”


提示-打开Excel并通过UI设置所需的页脚,记录所做操作的宏。然后打开VBA编辑器。生成的VBA将为您提供有关如何通过API实现相同功能的线索。在自动化Excel时,这一技巧可以在许多场景中使用。

在元级别上,您可以通过录制宏并查看它的功能来发现这类问题。例如,为了进行此设置,我录制了宏并将其输出:

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 30/06/2009 by bloggsj
'

'
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = "&""Arial,Bold""Page &P of &N"          '<== Et. Voila! 
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.75)
        .RightMargin = Application.InchesToPoints(0.75)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(1)
        .HeaderMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.5)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 100
        .PrintErrors = xlPrintErrorsDisplayed
    End With
End Sub
Sub宏1()
'
'宏1宏
“宏录制于2009年6月30日,由bloggsj
'
'
使用ActiveSheet.PageSetup
.PrintTitleRows=“”
.PrintTitleColumns=“”
以
ActiveSheet.PageSetup.PrintArea=“”
使用ActiveSheet.PageSetup
.LeftHeader=“”
.CenterHeader=“”
.RightHeader=“”
.LeftFooter=“”

.CenterFooter=“&”Arial,粗体“&P of&N”

以下代码来自.NET帮助的电子表格,与Excel兼容:

  • &P-当前页码
  • &N-总页数
  • &B-使用粗体字体*
  • &I-使用斜体*
  • &U-使用下划线字体*
  • &&“&”字符
  • &D-当前日期
  • &T-当前时间
  • &F-工作簿名称
  • &A-工作表名称
  • &“FontName”-使用指定的字体名称*
  • &N-使用指定的字体大小*

*任何文本或非字体代码后出现的字体代码将被SpreadsheetGear的打印引擎忽略。

未看到提及的内容;&B&I和类似的代码也可以关闭,类似于html代码。例:

PageSetup.LeftHeader = "&B&IBOLDITALIC&I BOLD&B NORMAL";
给出:


粗体斜体粗体正常

工作正常。根据以下相关人员的回答,似乎不需要以下&B。谢谢各位,谢谢。我想知道科技与发展!但另一方面,以下代码来自“Excel”,与电子表格兼容。NETSome genius将这些代码翻译成了Excel的德语版本。因此,如果您使用
&A-Seite&P von&N
,您将得到类似于
#-Seite/PATH/TO/von FILENAME
facepalm的东西,因此如果您在这里结束,您必须使用
&B-Seite&S von&A
而不是,也可以在字体名称设置中启动粗体,然后稍后再次关闭:
Sheets(1).PageSetup.CenterFooter=“&”“Arial,Bold”“这是粗体的&bb但这不是”