Ms office 怪诞

Ms office 怪诞,ms-office,office-interop,onenote,Ms Office,Office Interop,Onenote,使用OneNote 2010进行一些C#互操作。观察到一些非常奇怪的行为,我认为这是故意的,但我不明白 在onenote选项中,有一个用于保存和备份的分区。如果在windows资源管理器中转到默认笔记本位置的文件夹并创建一个目录,它将自动在该目录中放置一个文件“Open Notebook.onetoc2” 如果更改默认目录,则此操作将不再有效。不在新的默认目录中,也不在原始目录中 奇怪。更奇怪的是,如果您通过onenote本身在其他位置创建新笔记本,它也会创建“Open notebook.one

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

在onenote选项中,有一个用于保存和备份的分区。如果在windows资源管理器中转到默认笔记本位置的文件夹并创建一个目录,它将自动在该目录中放置一个文件“Open Notebook.onetoc2”

如果更改默认目录,则此操作将不再有效。不在新的默认目录中,也不在原始目录中

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


有人看到这一点或有任何解释吗?或者更好的方法是如何关闭这种行为?或者将此作为bug提交到哪里?

好的,解决它。这是我的错(和往常一样),不知何故,我成功地将默认笔记本位置(C:\User\username\Documents\OneNote笔记本)添加为笔记本。所以它下面的任何东西实际上都应该是一个组


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

根据Daniel Hölbling的回答: 通过首先导航到正确的顶级文件夹,然后执行以下Powershell命令,可以删除“onetoc2”文件:

Get-ChildItem -Filter "*.onetoc2" -Force -Recurse | Remove-Item –Force
执行此操作之前,请确保已关闭OneNote笔记本。此外,请注意,这还会删除任何合法的OneNote目录,因此不要在任何合法的OneNote文件夹上运行它