2009-12-04 27 views
5

オブジェクトモデルを使用せずに単語2007文書を作成したいとします。ですから、私はopen xml形式を使ってそれを作成することを好むでしょう。これまで私は文書を作成することができました。今度はコンテンツコントロールを追加してxmlにマップしたいと思います。誰もが同じことについて私を導くことができますか?OpenXMLを使用してWord 2007文書にコンテンツコントロールを追加する方法

答えて

7

アヌープ、

あなたは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(); 

これがあなたの質問の一部になることを希望します。私はあなたが "XMLにマップする"ことで何を理解していませんでした。 CustomXmlBlockを作成してContentControlを追加したいと言っていましたか?

+0

答えはThanxです! XMLマッピングについても説明しているMSDNの素晴らしい記事があります... http://msdn.microsoft.com/en-us/library/dd469465.aspx – Anoop

+1

OpenXML SDK 2では、エイリアスがSdtAliasになりました。 –

3

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

ここでは、実行しようとしていることを行う方法について非常に簡単な説明があります。

  1. ワードリボンの開発者タブにアクセスする必要があります。左上のOffice(Round thingy)をクリックし、メニューの下部にあるWord Optionsを選択してください。最初のオプションページには、開発者ツールバーを表示するチェックボックスがあります。

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

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

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

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

  6. openxml sdk 1.0または2.0(まだctp内)を使用して、コード内にワードドキュメントを開き、ワードドキュメントの一部として含まれているカスタムXMLファイルにアクセスできます。

単語の文書がどのように見えるかを見たい場合は、xmlを参照してください。あなたのワード文書のコピーを作成し、それを "a.zip"と改名します。 zipファイルをダブルクリックし、フォルダ構造をナビゲートします。単語documentの主な内容は、 "document.xml"というファイル内の単語folderの下に保持されます。ドキュメントのカスタムXML部分はcustomXmlフォルダの下に保持され、一般に "item1.xml"という名前のファイルにあります。

この簡単な説明を読んでいただければ幸いです。

+0

open xml sdkを使用してプログラムでコンテンツコントロールを追加したいと考えています。 – Anoop

関連する問題