将特殊内容从Onenote页面提取到Excel工作表

时间:2015-05-13 08:20:43

标签: xml excel-vba onenote vba excel

我需要一些关于提取OneNote 2010页面特殊信息的帮助。我的目标是在Onenote中获取表格的内容并将其放入Excel表格中,以便快速了解不同人群的概况。注释(通过激活宏)。 在VBA中,我使用了IXMLDOMNodeList'节点。得到它的层次结构:

Dim PageNodes As MSXML2.IXMLDOMNodeList
Dim PageNode As MSXML2.IXMLDOMNode
Set PageNodes = doc.DocumentElement.SelectNodes("//one:Page")

我使用循环来获取每个页面的内容

For Each PageNode In PageNodes
    ...    
    GetAttributeValueFromPageNode = PageNode.Attributes.getNamedItem("ID").Text

到目前为止一切顺利,但我怎样才能将内容的输出限制为表格的特定单元格?

一个单元格的xml-block看起来像:

<one:Cell lastModifiedTime="2015-05-12T14:46:23.000Z" objectID="{2C35AF52-393D-4E4E-8431-E7E189A2E6A1}{25}{B0}" lastModifiedByInitials="xxxxxx"><one:OEChildren><one:OE creationTime="2015-05-12T14:46:23.000Z" lastModifiedTime="2015-05-12T14:46:23.000Z" objectID="{2C35AF52-393D-4E4E-8431-E7E189A2E6A1}{26}{B0}" alignment="right" quickStyleIndex="1" style="font-family:Calibri;font-size:14.0pt;text-align:right"><one:T><![CDATA[Max Mustermann]]></one:T></one:OE></one:OEChildren></one:Cell>

此案例中的具体信息(&#34; Max Mustermann&#34;)被CDATA []接受。

我的想法和尝试是:

  • 尝试查找并选择&#34; childnodes&#34; of&#39; // one:Page&#39; (不幸的是,页面节点没有子节点)
  • 尝试指向&#39; object-ID&#39; (但每次onenote用户创建新站点时,这都会发生变化)。我注意到&#39; object-ID&#39;的最后两个括号保持不变。
  • 我如何解析xml中的这些信息? (也许使用通配符作为object-iD?)

每个提示都将受到赞赏。 Ray,非常感谢Ray

0 个答案:

没有答案