Microsoft.Office.Interop.Excelを使用してC#からExcelワークシートを作成していますが、ユーザーが希望する方法でフッターを取得できませんでした。
1)フッターテキストを太字にするにはどうすればよいですか?2)フッターにページ番号を入れるにはどうすればよいですか?(@ "Page @ [Page]"をテキストとして入力しても機能しません。)
可能?ありえない?
次のコードは、SpreadsheetGear for .NETヘルプからのものであり、Excelと互換性があります。
*テキストまたは非フォントコードの後に表示されるフォントコードは、SpreadsheetGearの印刷エンジンによって無視されます。
1)worksheet.PageSetup.LeftFooter = "&B Bold text &B"
2)worksheet.PageSetup.CenterFooter = "Page &P"
ヒント-Excelを開き、UIを介して必要なフッターを設定し、実行するアクションのマクロを記録します。次に、VBAエディターを開きます。生成されたVBAは、APIを介して同じことを達成する方法の手がかりを提供します。このトリックは、Excelを自動化するときに多くのシナリオで使用できます。
これが言及されているのを見ませんでした。&B&Iおよび同様のコードも、htmlコードと同様にオフにすることができます。元:
PageSetup.LeftHeader = "&B&IBOLDITALIC&I BOLD&B NORMAL";
与える:
BOLDITALIC BOLDNORMAL _
メタレベルでは、マクロを記録してその機能を確認することで、この種のことを見つけることができます。たとえば、この設定を行うために、マクロを記録してこれを取り出しました。
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 )。これから、自分でそれを行う方法を理解することができます。