onenote 2007笔记本批量转换成onenote 2010/2013/2016

onenote 2007 notebooks batch convert to onenote 2010/2013/2016

我的客户拥有大约 600 GB(总计)的 Onenote 2007 笔记本。 Onenote 2016 不允许编辑 onenote2007 格式的笔记本。需要转换。

MS 不提供批量转换实用程序。 MS 确实通过笨拙的 UI 提供了逐个笔记本的转换。 有谁知道我是否可以使用他们的 Publish API 一次转换一个笔记本?

https://msdn.microsoft.com/en-us/library/office/jj680120.aspx#ON14DevRef_Application_Functional(参见发布方法)

我试了一下。 你可以!

通过打开 2007 笔记本并将导出格式指定为 PublishFormat.pfOneNote(导出为 2010+ 格式),可以使用 Application2 onenote API COM 对象中的 Publish API 方法).

有一些限制:

  1. 您只能转换一个部分。因此,您的代码必须打开 2007 笔记本,找到各个部分,然后一次转换一个。
  2. 没有页面的部分将导致抛出错误代码。因此,请在尝试转换之前检查该部分中是否有页面。

因此,考虑到限制,我的转换应用程序必须:

  1. 循环浏览大文件夹中的笔记本。
  2. 打开每个笔记本,遍历每个部分,并将每个非空部分转换为一个新的笔记本文件夹。
  3. 打开新的笔记本文件夹并在其中创建任何缺失的部分。
  4. 订购新笔记本中的部分。
  5. 保存并关闭两个笔记本。
  6. 重复。

这是部分实现: https://github.com/PetePeter/onenoteconverter