總是有三個每個.docx(由Word 2007/2010創建 - 不一定是由Open XML SDK創建的.docx)中內置的CustomXMLParts。即:
<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")
太感謝了,一個更快速的問題:如果我想在綁定到XML文件.dotm模板內容的控制,我做每次文檔加載時(即Sub onload())需要調用CustomXMLParts.Load(以及每個控件的SetMapping方法),還是隻能在執行後保存它? – gravyface 2010-06-29 20:48:57
你應該只需要映射一次,而不是每次。但是,如果您的XML數據在關閉/打開文檔之間發生變化,您將需要沉沒XMLNode事件(本頁底部):http://msdn.microsoft.com/en-us/library/aa433905(office.12) )的.aspx。 – 2010-06-29 20:59:34
@Okatu,我有一個類似的問題與差異http://stackoverflow.com/questions/4565185/iterating-xml-nodes-using-vba-word-2007-vba-retreiving-and-iterating-activedoc。能否請你幫忙。 – 2010-12-30 18:32:45