我正在尝试通过C#在OneNote 2013中创建一个新页面。
try
{
onenoteApp.CreateNewPage(sectionId, out pageId, NewPageStyle.npsBlankPageWithTitle);
}
catch (System.Runtime.InteropServices.COMException ex)
{
Console.WriteLine(ex.Message);
}
每次发生COMException并显示消息“ HRESULT异常:0x8004200B”。错误代码表示该节是只读的(hrSectionReadOnly)。
我无法读取该部分以添加更多页面或更新内容。我试图更改.one文件的安全设置,但没有成功。
有谁知道如何解决这个问题?
最佳答案
我在使用C#和OneNote时遇到了相同的问题。每次我调用“写”方法时,这意味着我想编辑OneNote文件中的某些内容,就会得到HRESULT异常:0x8004200B。
我使用Microsoft OneNote 12.0类型库作为参考。我也尝试使用14.0类型的Library,但是在每种方法中,编译器都表示类似
错误1'Microsoft.Office.Interop.OneNote.Application'不包含'GetHierarchy'的定义,也没有扩展方法'GetHierarchy'接受类型的第一个参数。
因此,对我来说,解决方案是使用OneNote 14.0类型库,并将“嵌入互操作类型”设置为FALSE。您可以通过单击探针中的OneNote参考(如果已添加)来找到它。
从那时起,一切正常!
关于c# - 通过代码创建一个新的OneNote页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29065589/