'宣言 Public Class WordprocessingMLWriter Inherits WordDocumentWriter
public class WordprocessingMLWriter : WordDocumentWriter
WordprocessingMLWriter クラスは、Microsoft Word 2007 など WordprocessingML OpenXml コンシューマーによって認識されるコンテンツを生成する WordDocumentWriter クラスの具体的な実装です。
開発者は、転送のみで WordDocumentWriter と通信します。コンテンツ作成メソッドが呼び出されるとコンテンツが対象の文書に書き出せなくなります。このメソッドが複雑だと見なされる場合、オブジェクト駆動型のメモリ フットプリントを軽減するメリットがあります。
このクラスの新しいインスタンスは Create メソッドを使用して作成されます。
新しい WordprocessingML 文書を開始します。開発者は StartDocument メソッドを呼び出します。このメソッドは、文書の <document> および <body> 要素を開始します。メソッドから実行が返された後に、これらの要素は開いたままのためコンテンツが追加されます。要素は EndDocument メソッドが呼び出されるまで、または、WordDocumentWriter インスタンスが破棄されるまで閉じられます。
StartDocument メソッドが呼び出されるまで、StartParagraph メソッドなどを介してコンテンツ ブロックが追加できます。段落を追加した後に、AddTextRun や AddHyperlink などのメソッドを使用して通常コンテンツを生成します。これらのメソッドはアトミック操作として実行されます。コンテンツ ランを表すために要求されるすべてのコンテンツは、実行がメソッドから返される前に文書ストリームに追加されます。すべてのコンテンツが段落に追加されたあとに、EndParagraph メソッドを呼び出して段落要素を閉じます。
WordDocumentWriterException をスローさせる操作にライターが必要ないときに文書にコンテンツを追加しようとします。たとえば、段落を開くために StartParagraph メソッドが以前呼びだれていない場合に AddTextRun メソッドを呼びだすことは、無効 (テキスト ランが段落に属している必要があります) で例外をスローします。これらの例外は、アプリケーション開発の初期段階でデバッグを目的に処理できます。ただし、通常は例外から回復する方法はありません。クライアントコードに問題があると解釈される必要があります。
すべてのコンテンツ ブロックは追加されたあとに、開発者は <document> および <body> を閉じるために EndDocument メソッドを呼び出します。
ページ サイズ、マージン、方向は、DefaultSectionProperties プロパティを介してすべての文書のDefineSection メソッドを介して以前書き込まれた段落およびテーブルの範囲で設定できます。
コンテンツ ストリームは、WordDocumentWriter が廃棄されるときに閉じられ、結果 WordprocessingML ファイルが作成されます。
プロパティを変換するときに使用される計測単位を指定でき、Unit プロパティを使用してグラフィック計測を表します。CreateFont、CreateParagraphProperties、 および CreateAnchoredPicture メソッドから返されたオブジェクトはこのクラスへの参照を保持し、Unit プロパティの値を使用して特定のプロパティ値を表す計測単位を決定します。たとえば、Inch 値を Unit プロパティに割り当て、CreateFont メソッドを使用して Font を取得し、Size プロパティの get メソッドはインチで表される値を返します。set メソッドは割り当てられた値がインチで表されると見なします。この関連付けは、オブジェクトが有効な間保持されます。それにより、開発者が Unit プロパティの値を変更した場合も、次回プロパティがアクセスされたときに新しい計測単位が自動的に使用されます。