Word 2007 VBA: ActiveDocument.CustomXMLParts - PullRequest
2 голосов
/ 29 июня 2010

В этом руководстве (и многих других) в методе CustomXMLParts коллекции объектов Load есть целое число, объяснение которого я не могу найти.Справочник по Word 2007 для VBA, похоже, также не содержит метода Load:

  ''# Load CustomerData.xml file
  ActiveDocument.CustomXMLParts.Add
  ActiveDocument.CustomXMLParts(4).Load ("c:\CustomerData.xml") 

Что представляет собой 4 ?

1 Ответ

4 голосов
/ 30 июня 2010

Всегда есть три встроенных CustomXMLParts в каждом .docx (создан Word 2007/2010 - не обязательно .docx, созданный Open XML SDK). А именно:

<cp:coreProperties xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"><dc:creator></dc:creator><cp:keywords/><dc:description/><dc:subject/><dc:title/><cp:category/><cp:contentStatus/></cp:coreProperties>

<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"><Company/><Manager/></Properties>

<CoverPageProperties xmlns="http://schemas.microsoft.com/office/2006/coverPageProps"><PublishDate/><Abstract/><CompanyAddress/><CompanyPhone/><CompanyFax/><CompanyEmail/></CoverPageProperties>

Итак, 4 здесь просто означает, что после того, как вы сделали ActiveDocument.CustomXMLParts.Add, добавьте четвертое «получите четвертое». Если бы у вас было больше, вы бы просто использовали следующий доступный номер индекса. Вместо 4 я, вероятно, просто использовал бы это вместо:

Dim ap As Document
Set ap = ActiveDocument
ap.CustomXMLParts.Add
ap.CustomXMLParts(ap.CustomXMLParts.Count).Load ("C:\CustomerData.xml")
...