1

動的コンテンツを含むフォームを生成するためのソリューションとして、MS Word を使用した XML を検討していますが、簡単な作業と思われることを実行するのは難しいと感じています。

MSDN の例を使用する

http://msdn.microsoft.com/en-us/library/office/gg605188%28v=office.14%29.aspx

xml ドキュメントを開いて<CompanyName>Adventure Works</CompanyName><CompanyName>Gadget Co.</CompanyName>. .xml ドキュメントで変更された値を Word ドキュメントに反映するにはどうすればよいですか?

私が試してみました:

1) Word ドキュメントを保存し、閉じて、再度開く。

2)ActiveDocument.CustomXMLParts(4).Loadコマンドを再実行します。(閉じて開いた後でも、既に読み込まれているエラーをスローします。)

ActiveDocument.ContentControls(#).XMLMapping.SetMapping3)手順でコントロールを再マッピングします。(エラーはありませんが、更新内容に変更はありません。)

XML および Office スイートのドキュメントのほとんどは、.Net 開発を対象としているようです。このソリューションのために .Net に分岐したくはありませんが、VBA からのサポートははるかに限られているようです。

最終的に、最終的な出力は、個別に解析され、pdf として保存されるいくつかのネストされたドキュメントを含む差し込み印刷タイプのドキュメントになります。コンテンツは動的で、可変長のテーブルと動的に生成されたチェックボックス (対応するテキスト コンテンツ コントロールを含む) があります。現時点では、Word と XML が適しているかどうか確信が持てず、VBA ベースの MS Publisher ソリューションを検討しています。

これに関するアドバイスは大歓迎です。

4

2 に答える 2

1

新しい CustomXmlPart を使用して、すべてのコントロールを反復処理し、マッピングをやり直すことができます。

Dim xmlPart As CustomXMLPart
Dim cc As ContentControl

Set xmlPart = ActiveDocument.CustomXMLParts.Add
xmlPart.Load (c:/temp/test.xml)

For Each cc In ActiveDocument.ContentControls
    cc.XMLMapping.SetMapping cc.XMLMapping.XPath, cc.XMLMapping.PrefixMappings, xmlPart
Next cc
于 2015-05-06T16:09:15.977 に答える