4

Microsoft.Office.Interop.Excelを使用してC#からExcelワークシートを作成していますが、ユーザーが希望する方法でフッターを取得できませんでした。

1)フッターテキストを太字にするにはどうすればよいですか?2)フッターにページ番号を入れるにはどうすればよいですか?(@ "Page @ [Page]"をテキストとして入力しても機能しません。)

可能?ありえない?

4

4 に答える 4

11

次のコードは、SpreadsheetGear for .NETヘルプからのものであり、Excelと互換性があります。

  • &P-現在のページ番号。
  • &N-総ページ数。
  • &B-太字のフォントを使用します*。
  • &I-イタリックフォントを使用します*。
  • &U-下線フォントを使用します*。
  • && - キャラクター。
  • &D-現在の日付。
  • &T-現在の時刻。
  • &F-ブック名。
  • &A-ワークシート名。
  • &"FontName"-指定されたフォント名を使用します*。
  • &N-指定されたフォントサイズ*を使用します。

*テキストまたは非フォントコードの後に​​表示されるフォントコードは、SpreadsheetGearの印刷エンジンによって無視されます。

于 2009-06-30T18:15:01.030 に答える
8

1)worksheet.PageSetup.LeftFooter = "&B Bold text &B"

2)worksheet.PageSetup.CenterFooter = "Page &P"

ヒント-Excelを開き、UIを介して必要なフッターを設定し、実行するアクションのマクロを記録します。次に、VBAエディターを開きます。生成されたVBAは、APIを介して同じことを達成する方法の手がかりを提供します。このトリックは、Excelを自動化するときに多くのシナリオで使用できます。

于 2009-06-30T15:53:34.843 に答える
1

これが言及されているのを見ませんでした。&B&Iおよび同様のコードも、htmlコードと同様にオフにすることができます。元:

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

与える:

BOLDITALIC BOLDNORMAL _

于 2011-04-11T23:06:54.197 に答える
0

メタレベルでは、マクロを記録してその機能を確認することで、この種のことを見つけることができます。たとえば、この設定を行うために、マクロを記録してこれを取り出しました。

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

記録されたマクロにはたくさんのゴミがありますが、Excelがどのようにそれを行うかを見ることができます( Et.Voila )。これから、自分でそれを行う方法を理解することができます。

于 2009-06-30T15:59:02.943 に答える