【问题标题】:OneNote BizarrenessOneNote 怪异
【发布时间】:2025-12-21 16:20:16
【问题描述】:

使用 OneNote 2010 做一些 C# 互操作的东西。观察到一些非常奇怪的行为,我认为这是故意的,但我不明白。

在 onenote 选项中有一个用于保存和备份的部分。如果你在windows资源管理器中进入Default Notebook Location文件夹并创建一个目录,它会自动在目录中放置一个“Open Notebook.onetoc2”文件。

如果您更改默认目录,这将不再有效。不在 NEW 默认目录中,也不在 ORIGINAL 目录中。

奇怪。更奇怪的是,如果您通过 onenote 本身在不同的位置创建一个新笔记本,它也会创建“Open Notebook.onetoc2”文件,但它与自动创建的不同。我认为这是一个错误,今天花了我大约 4 个小时的工作时间。更糟糕的是,微软自己的 API 不适用于这个文件。 UpdateHierarchy() 失败。

有人看到这个或者有什么解释吗?或者更好的是如何关闭这种行为?或者将其作为错误提交到哪里?

【问题讨论】:

    标签: ms-office office-interop onenote


    【解决方案1】:

    好的,想通了。这是我的错(像往常一样),不知何故,我设法将默认笔记本位置 (C:\User\username\Documents\OneNote Notebooks) 添加为笔记本。所以它下面的任何东西实际上都应该是一个 SECTIONGROUP。

    在更新我的层次结构时,我将其设置为,但它会呕吐。

    【讨论】:

      【解决方案2】:

      根据 Daniel Hölbling 在这里的回答:http://www.tigraine.at/2009/09/01/howto-get-rid-of-onetoc2-files-using-powershell/ 您可以通过首先导航到正确的*文件夹,然后执行以下 Powershell 命令来删除“onetoc2”文件:

      Get-ChildItem -Filter "*.onetoc2" -Force -Recurse | Remove-Item –Force
      

      在执行此操作之前,请确保您已关闭 OneNote 笔记本。此外,请注意,这也会删除任何合法的 OneNote 目录,因此请不要在任何合法的 OneNote 文件夹上方运行它!

      【讨论】: