【问题标题】:onenote 2007 notebooks batch convert to onenote 2010/2013/2016onenote 2007 笔记本批量转换为 onenote 2010/2013/2016
【发布时间】:2017-01-20 19:14:22
【问题描述】:

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

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

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

【问题讨论】:

  • 我找到了 OneNote Snap-In,它可以让你在 PowerShell 中操作 OneNote。我没有进行扩展调查这个 PowerShell 模块可以做什么,但我认为您可以使用 OneNote 2007 将 PC 上的所有 OneNote 数据导出到文本文件,然后使用 OneNote 2010 将其导入目标计算机。请看链接powershell.com/cs/forums/t/196.aspx
  • 这听起来是个好主意!谢谢乔治。如果我可以让 powershell 为我转换它们,它可以节省我为此目的构建应用程序的时间。我会试一试
  • 我决定不学习 powershell ... 而是写了一些代码。

标签: onenote


【解决方案1】:

我试了一下。 你可以!

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

有一些限制:

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

因此,鉴于这些限制,我的转换应用必须:

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

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

【讨论】:

  • 请原谅我的无知,但是如何使用onenoteconverter? (我只熟悉 *nix 的东西,并且在旧版本的 OneNote 中有很多我孩子的东西。)
  • 不需要。一时兴起,我检查了我的垃圾堆,发现了带有许可证密钥的 OneNote 2003 副本,所以我现在可以访问所有数据了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
相关资源
最近更新 更多