通过代码创建一个新的OneNote页面

时间:2015-03-15 20:06:52

标签: c# .net api onenote

我尝试通过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文件的安全设置,但没有成功。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我在使用C#和OneNote时遇到了同样的问题。每次我打电话给#34;写" -method,这意味着我想在OneNote-File中编辑一些东西,我得到了HRESULT的异常:0x8004200B。

我使用Microsoft OneNote 12.0类型库作为参考。我也尝试使用14.0类型的库,但是在每种方法上,编译器都会说像

  

错误1' Microsoft.Office.Interop.OneNote.Application'不包含' GetHierarchy'的定义没有扩展方法' GetHierarchy'接受类型的第一个参数......

所以我的解决方案是使用OneNote 14.0类型库并将嵌入互操作类型设置为FALSE 。你可以通过点击procomies中的OneNote参考(当你已经添加它时)找到它。

此后,一切正常!