XMLMapping インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
カスタム XML とコンテンツ コントロールの間の ContentControl オブジェクトに対する XML マッピングを表します。 XML マッピングは、コンテンツ コントロール内の文字列と、このドキュメントのカスタム XML データ ストア内の XML 要素とのリンクです。
public interface class XMLMapping
[System.Runtime.InteropServices.Guid("0C1FABE7-F737-406F-9CA3-B07661F9D1A2")]
public interface XMLMapping
type XMLMapping = interface
Public Interface XMLMapping
- 属性
注釈
メソッドを SetMapping(String, String, CustomXMLPart) 使用して、XPath 文字列を使用してコンテンツ コントロールの XML マッピングを追加または変更します。 次の使用例は、文書の作成者に関する組み込みの文書プロパティを設定し、作業中の文書に新しいコンテンツ コントロールを挿入した後、組み込みの文書プロパティへのコントロールの XML マッピングを設定します。
<span class="label">Dim objcc As ContentControl
Dim objMap As XMLMapping
Dim blnMap As Boolean
ActiveDocument.BuiltInDocumentProperties("Author").Value = "David Jaffe"
Set objcc = ActiveDocument.ContentControls.Add _
(wdContentControlDate, ActiveDocument.Paragraphs(1).Range)
Set objMap = objcc.XMLMapping
blnMap = objMap.SetMapping(XPath:="/ns1:coreProperties[1]/ns0:createdate[1]")
If blnMap = False Then
MsgBox "Unable to map the content control."
End If</span>
CustomXMLNode オブジェクトをSetMappingByNode(CustomXMLNode)使用して、コンテンツ コントロールの XML マッピングを追加または変更するには、 メソッドを使用します。 次の例では、前の例と同じことを行いますが、 SetMappingByNode メソッドを使用します。
<span class="label">Dim objcc As ContentControl
Dim objNode As CustomXMLNode
Dim objMap As XMLMapping
Dim blnMap As Boolean
ActiveDocument.BuiltInDocumentProperties("Author").Value = "David Jaffe"
Set objcc = ActiveDocument.ContentControls.Add _
(wdContentControlDate, ActiveDocument.Paragraphs(1).Range)
Set objNode = ActiveDocument.CustomXMLParts.SelectByNamespace _
("http://schemas.openxmlformats.org/package/2006/metadata/core-properties") _
(1).DocumentElement.ChildNodes(1)
Set objMap = objcc.XMLMapping
blnMap = objMap.SetMappingByNode(objNode)</span>
次の使用例新しい CustomXMLPart オブジェクトを作成、カスタム XML を読み込み、そこに 2 つの新しいコンテンツ コントロールを作成し、それぞれをカスタム XML 内の異なる XML 要素にマップします。
<span class="label">Dim objRange As Range
Dim objCustomPart As CustomXMLPart
Dim objCustomControl As ContentControl
Dim objCustomNode As CustomXMLNode
Set objCustomPart = ActiveDocument.CustomXMLParts.Add
objCustomPart.LoadXML ("<books><book><author>Matt Hink</author>" & _
"<title>Migration Paths of the Red Breasted Robin</title>" & _
"<genre>non-fiction</genre><price>29.95</price>" & _
"<pub_date>2/1/2007</pub_date><abstract>You see them in " & _
"the spring outside your windows. You hear their lovely " & _
"songs wafting in the warm spring air. Now follow the path " & _
"of the red breasted robin as it migrates to warmer climes " & _
"in the fall, and then back to your back yard in the spring." & _
"</abstract></book></books>")
ActiveDocument.Range.InsertParagraphBefore
Set objRange = ActiveDocument.Paragraphs(1).Range
Set objCustomNode = objCustomPart.SelectSingleNode _
("/books/book/title")
Set objCustomControl = ActiveDocument.ContentControls _
.Add(wdContentControlText, objRange)
objCustomControl.XMLMapping.SetMappingByNode objCustomNode
objRange.InsertParagraphAfter
Set objRange = ActiveDocument.Paragraphs(2).Range
Set objCustomNode = objCustomPart.SelectSingleNode _
("/books/book/abstract")
Set objCustomControl = ActiveDocument.ContentControls _
.Add(wdContentControlText, objRange)
objCustomControl.XMLMapping.SetMappingByNode objCustomNode
MsgBox objCustomControl.XMLMapping.IsMapped</span>
メソッドを Delete() 使用して、コンテンツ コントロールの XML マッピングを削除します。 コンテンツ コントロールの XML マッピングを削除すると、コンテンツ コントロールと XML データとの接続だけが削除されます。 コンテンツ コントロールと XML データはどちらも文書内に残ります。 次の使用例は、作業中の文書で、現在マップされているすべてのコンテンツ コントロールの XML マッピングを削除します。
<span class="label">Dim objCC As ContentControl
For Each objCC In ActiveDocument.ContentControls
If objCC.XMLMapping.IsMapped Then
objCC.XMLMapping.Delete
End If
Next</span>
プロパティを IsMapped 使用して、コンテンツ コントロールがドキュメントのデータ ストア内の XML ノードにマップされているかどうかを判断します。 次の使用例は、作業中の文書でマップされているすべてのコンテンツ コントロールの XML マッピングを削除します。
<span class="label">Dim objCC As ContentControl
For Each objCC In ActiveDocument.ContentControls
If objCC.XMLMapping.IsMapped Then
objCC.XMLMapping.Delete
End If
Next</span>
プロパティを CustomXMLNode 使用して、コンテンツ コントロールがマップされる XML ノードにアクセスします。 プロパティを CustomXMLPart 使用して、コンテンツ コントロールがマップされる XML 部分にアクセスします。 CustomXMLNode オブジェクトと CustomXMLPart オブジェクトの操作に関する詳細については、それぞれのオブジェクトのトピックを参照してください。
プロパティ
Application |
_Application Microsoft Word アプリケーションを表す オブジェクトを返します。 |
Creator |
アドインが作成されたアプリケーションを示す 32 ビット整数を返します。 取得のみ可能な Long 値です。 |
CustomXMLNode |
ドキュメント内のコンテンツ コントロールがマップされるデータ ストア内のカスタム XML ノードを表す CustomXMLNode オブジェクトを返します。 |
CustomXMLPart |
ドキュメント内のコンテンツ コントロールをマップするカスタム XML 部分を表す CustomXMLPart オブジェクトを返します。 |
IsMapped |
文書内のコンテンツ コントロールが、文書の XML データ ストア内の XML ノードにマップされているかどうかを表すブール型 (Boolean) の値を取得します。 読み取り専用です。 |
Parent |
指定された XMLMapping オブジェクトの親オブジェクトを表す オブジェクト を返します。 |
PrefixMappings |
現在の XML マッピングの XPath を評価するために使用するプレフィックス マッピングを表す 文字列 を返します。 読み取り専用です。 |
XPath |
現在マップされている XML ノードに評価される、XML マッピングの XPath を表す 文字列 を返します。 読み取り専用です。 |
メソッド
Delete() |
親コンテンツ コントロールから XML マッピングを削除します。 |
SetMapping(String, String, CustomXMLPart) |
作成するか、コンテンツ コントロールの XML マッピングを変更することができます。 Microsoft Office Wordドキュメントのカスタム XML データ ストア内のカスタム XML ノードにコンテンツ コントロールをマップする場合は True を返します。 |
SetMappingByNode(CustomXMLNode) |
作成するか、コンテンツ コントロールの XML データ マッピングを変更することができます。 Microsoft Office Wordドキュメントのカスタム XML データ ストア内のカスタム XML ノードにコンテンツ コントロールをマップする場合は True を返します。 |