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 方法).
有一些限制:
- 您只能转换一个部分。因此,您的代码必须打开 2007 笔记本,找到各个部分,然后一次转换一个。
- 没有页面的部分将导致抛出错误代码。因此,请在尝试转换之前检查该部分中是否有页面。
因此,考虑到限制,我的转换应用程序必须:
- 循环浏览大文件夹中的笔记本。
- 打开每个笔记本,遍历每个部分,并将每个非空部分转换为一个新的笔记本文件夹。
- 打开新的笔记本文件夹并在其中创建任何缺失的部分。
- 订购新笔记本中的部分。
- 保存并关闭两个笔记本。
- 重复。
我的客户拥有大约 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 方法).
有一些限制:
- 您只能转换一个部分。因此,您的代码必须打开 2007 笔记本,找到各个部分,然后一次转换一个。
- 没有页面的部分将导致抛出错误代码。因此,请在尝试转换之前检查该部分中是否有页面。
因此,考虑到限制,我的转换应用程序必须:
- 循环浏览大文件夹中的笔记本。
- 打开每个笔记本,遍历每个部分,并将每个非空部分转换为一个新的笔记本文件夹。
- 打开新的笔记本文件夹并在其中创建任何缺失的部分。
- 订购新笔记本中的部分。
- 保存并关闭两个笔记本。
- 重复。