フィールド結果の書式設定

フィールド結果の書式設定

フィールド結果の書式設定

このガイドでは、Aspose.Words FOSS for .NET におけるフィールドの計算結果に適用される数値、日付/時刻、一般的な書式設定を、FieldFormat クラス、GeneralFormat 列挙型、および GeneralFormatCollection を使用して制御する方法を示します。すべての Field インスタンスは、Format プロパティを介してこれらの書式設定スイッチを公開します。このページは、そのプロパティが提供する内容を詳しく掘り下げたものです。


フィールドの書式設定へのアクセス

すべての Field — その型付きサブクラスである FieldDate、FieldCreateDate、FieldSymbol も含めて — は、FieldFormat 型の Format プロパティを公開しており、フィールドの数値、日付と時刻、一般的な書式設定への型付きアクセスに使用されます。Field.Format を参照して、フィールドコードに付随するスイッチを、生のフィールドコードテキストを手動で編集せずに検査または変更できます。


数値および日付/時刻の書式イメージ

FieldFormat.NumericFormat は、数値フィールドの結果に適用される書式設定を保持する書き込み可能な string プロパティです。FieldFormat.DateTimeFormat は、日付と時刻フィールドの結果に適用される書式設定を保持する書き込み可能な string プロパティです。いずれかのプロパティを設定することで、対応するフィールドタイプが計算値をどのように表示するかを変更できます。


一般的な書式

FieldFormat.GeneralFormats は GeneralFormatCollection を返します — 数値、テキスト、または任意のフィールド結果に適用される汎用フォーマットです。そのメンバーは GeneralFormat 列挙型から取得され、ケース変換 (Upper, Lower, FirstCap, Caps)、ローマ数字および序数 (UppercaseRoman, LowercaseRoman, Ordinal, OrdText)、通貨と基数テキスト (DollarText, BahtText, CardText)、ロケール固有の数値システム (Aiueo, Arabic, ArabicAbjad, ArabicAlpha, ArabicDash, ChineseNum1–ChineseNum3, KanjiNum1–KanjiNum3, Hebrew1, Hebrew2, Ganada, Chosung, Zodiac1–Zodiac3, ThaiArabic, ThaiCardText, ThaiLetter, HindiArabic, HindiCardText, HindiLetter1, HindiLetter2, VietCardText, DBNum1–DBNum4, DBChar, SBChar, GB1–GB4, Hex, CircleNum, UppercaseAlphabetic, LowercaseAlphabetic)、およびマージフィールド固有の値 CharFormat, MergeFormat, MergeFormatInet を含みます。None は汎用フォーマットをクリアします。


GeneralFormatCollection の管理

GeneralFormatCollection は IEnumerable<GeneralFormat> を実装しているため、foreach ループ内で GetEnumerator() を使用して反復処理できます。Add(item) を呼び出して GeneralFormat 値を追加し、Remove(item) で値のすべての出現を削除、または RemoveAt(index) で特定の位置の値を削除します。Count は現在適用されている汎用フォーマットの数を報告します。


ヒントとベストプラクティス

  • Field.Format.NumericFormat または Field.Format.DateTimeFormat を設定し、フィールドコード文字列にフォーマット画像を直接埋め込むのは避けてください — 型指定されたプロパティはフィールドコードとそのフォーマットスイッチを同期させます。
  • 複数の GeneralFormat 値(例: Upper と MergeFormat)を組み合わせるには、各値を個別に GeneralFormats に追加します。コレクションは複数のエントリを許可します。
  • 任意の FieldFormat プロパティを変更した後、所有フィールドで Update() を呼び出し、新しいフォーマットが Result / DisplayResult に反映されるようにします。
  • GeneralFormat.None を使用して、コレクション内に古いフォーマット値を残すのではなく、汎用フォーマットエントリを明示的にクリアしてください。
  • フィールドに汎用書式が適用されていないと仮定する前に、GeneralFormatCollection.Countを確認してください — 空のコレクションと None を含むコレクションは異なる状態です。

一般的な問題

問題原因修正
NumericFormat を変更しても目に見える効果がありません変更後にフィールドが再計算されませんでした任意の FieldFormat プロパティを編集した後、フィールドに対して Update() を呼び出してください
重複した一般フォーマットが GeneralFormats に表示されますAdd(item) が同じ GeneralFormat の値に対して複数回呼び出されました追加する前に GeneralFormatCollection.Count を確認するか、イテレートしてください。または、まず Remove(item) を呼び出してください。
誤ったエントリが GeneralFormats から削除されましたRemoveAt(index) は、以前の削除後にシフトしたインデックスで呼び出されましたインデックスで削除する前に、Count を確認し、コレクションを再度イテレートしてください

FAQ

FieldFormat は何のために使用されますか?

これは Field.Format が提供する型付けされた書式オブジェクトで、フィールドの数値書式 (NumericFormat)、日付/時刻書式 (DateTimeFormat)、および汎用書式 (GeneralFormats) にアクセスできます。

フィールドに複数の汎用書式を適用できますか?

はい — GeneralFormats は GeneralFormatCollection であり、Add に対して複数の GeneralFormat 値を設定できます。

フィールドからすべての汎用書式を削除するにはどうすればよいですか?

GeneralFormats を反復し、各値に対して Remove(item) を呼び出すか、特定のエントリには RemoveAt(index) を使用します。

FieldFormat のプロパティを設定すると、フィールドの表示テキストが自動的に更新されますか?

いいえ — プロパティ Format を変更した後、フィールドに対して Update() を呼び出し、Result と DisplayResult が新しい書式設定を反映するようにします。


API Reference の概要

クラス/メソッド説明
FieldFormatフィールドの数値、日付/時刻、一般的な書式設定への型付きアクセス; Field.Format を介して公開されます
FieldFormat.NumericFormat数値フィールドの結果に適用された書式ピクチャ
FieldFormat.DateTimeFormat日付/時刻フィールドの結果に適用された書式ピクチャ
FieldFormat.GeneralFormatsGeneralFormatCollection の一般書式がフィールド結果に適用されました
GeneralFormat一般的な書式スイッチの列挙型(大文字小文字変換、数字体系、マージフィールド書式)
GeneralFormatCollection型付き GeneralFormat 値のコレクション; Add、Remove、RemoveAt、Count、GetEnumerator

参照

 日本語