5


2

OpenXMLを使用してWord 2007文書にコンテンツコントロールを追加する方法

オブジェクトモデルを使用せずにWord 2007ドキュメントを作成したい。 だから、私はオープンXML形式を使用して作成したいと思います。 これまで、ドキュメントを作成できました。 ここで、コンテンツコントロールを追加して、xmlにマップします。 誰でも同じことについて私を案内できますか?

2 Answer


8


あんぷ、

OpenXmlSdkを使用してドキュメントを作成できると言いました。 その前提で、次のコードを使用してコンテンツコントロールを作成し、ドキュメントのWordprocessing.Body要素に追加できます。

//praragraph to be added to the rich text content control
Run run = new Run(new Text("Insert any text Here") { Space = StaticTextConstants.Preserve });
Paragraph paragraph = new Paragraph(run);

SdtProperties sdtPr = new SdtProperties(
        new Alias { Val = "MyContentCotrol" },
        new Tag { Val = "_myContentControl" });
SdtContentBlock sdtCBlock = new SdtContentBlock(paragraph);
SdtBlock sdtBlock = new SdtBlock(sdtPr, sdtCBlock);

//add this content control to the body of the word document
WordprocessingDocument wDoc = WordprocessingDocument.Open(path, true); //path is where your word 2007 file is
Body mBody = wDoc.MainDocumentPart.Document.Body;
mBody.AppendChild(sdtBlock);

wDoc.MainDocumentPart.Document.Save();
wDoc.Dispose();

これがあなたの質問の一部に答えることを願っています。 「Map it to XML」であなたが何を言っているのか理解できませんでした。 CustomXmlBlockを作成し、それにContentControlを追加すると言いたいですか?


3


www.codeplex.comでWord Content Control Toolkitをご覧ください。

ここでは、あなたが試みていることをどのように行うかについての非常に簡単な説明があります。

  1. Wordリボンの開発者タブにアクセスする必要があります。 To これが機能するようにするには、左上隅にあるOffice(丸いもの)をクリックし、メニューの下部にある[Wordオプション]を選択します。 最初のオプションページには、開発者ツールバーを表示するチェックボックスがあります。

  2. 開発者ツールバーを使用して、必要なコンテンツコントロールを追加します ページ。 開発者バーの[コンテンツコントロール]セクションの[プロパティ]ボタンをクリックし、名前とタグのプロパティを設定します(名前とタグフィールドに同じ名前を付けることに固執します)。

  3. Word文書を保存して閉じます。

  4. コンテンツコントロールツールキットを開き、ドキュメントを開きます ツールキット。 左手の痛みを使用して、コントロールにリンクするカスタムxmlを作成します。

  5. バインドビューを使用して、マッピングをドラッグアンドドロップします。 ツールキットの右側のパネルに表示されるカスタムxmlおよびカスタムコントロール。

  6. openxml sdk 1.0または2.0(まだctpにあります)を使用して、 コード内の単語文書を作成し、単語文書の一部として含まれているカスタムxmlファイルにアクセスします。

ワードドキュメントがxmlとしてどのように見えるかを確認したい場合。 Wordドキュメントのコピーを作成し、名前を「a.zip」に変更します。 zipファイルをダブルクリックして、フォルダー構造をナビゲートします。 単語ドキュメントのメインコンテンツは、「document.xml」というファイルの単語フォルダの下に保持されます。 ドキュメントのカスタムxml部分はcustomXmlフォルダーの下に保持され、通常「item1.xml」という名前のファイルにあります。

この簡単な説明があなたを動かしてくれることを願っています。