C# 使用开发者API更新OneNote页面
我尝试使用Microsoft引用更新OneNote中的页面: 这是我的问题。当我试图用正确的ID更新我的页面时,它向我抛出了一个错误:Exception from HRESULT:0x80042000 这是我的密码:C# 使用开发者API更新OneNote页面,c#,xml,onenote,C#,Xml,Onenote,我尝试使用Microsoft引用更新OneNote中的页面: 这是我的问题。当我试图用正确的ID更新我的页面时,它向我抛出了一个错误:Exception from HRESULT:0x80042000 这是我的密码: static void UpdatePageContent() { ApplicationClass onApplication = new ApplicationClass(); String strImportXML;
static void UpdatePageContent()
{
ApplicationClass onApplication = new ApplicationClass();
String strImportXML;
strImportXML = @"<?xml version="+"1.0"+" encoding="+"utf-16"+"?>" +
" <one:Page xmlns:one="+"http://schemas.microsoft.com/office/onenote/12/2004/onenote\""+"" +
"ID=\"{5BE09697-903A-45DD-88D4-8AD301A3D91F}{1}{B0}\">" +
" <one:PageSettings RTL=\"false\" color=\"automatic\">" +
" <one:PageSize>" +
" <one:Automatic/>" +
" </one:PageSize>" +
" <one:RuleLines visible=\"false\"/>" +
" </one:PageSettings>" +
" <one:Title style=\"font-family:Calibri;" +
" font-size:17.0pt\" lang=\"en-US\">" +
" <one:OE alignment=\"left\">" +
" <one:T>" +
" <![CDATA[My Sample Page]]>" +
" </one:T>" +
" </one:OE>" +
" </one:Title>" +
" <one:Outline >" +
" <one:Position x=\"120\" y=\"160\"/>" +
" <one:Size width=\"120\" height=\"15\"/>" +
" <one:OEChildren>" +
" <one:OE alignment=\"left\">" +
" <one:T>" +
" <![CDATA[Sample Text]]>" +
" </one:T>" +
" </one:OE>" +
" </one:OEChildren>" +
" </one:Outline>" +
" </one:Page>";
// Update page content
try
{
onApplication.UpdatePageContent(strImportXML, System.DateTime.MinValue);
}
catch (COMException e)
{
Console.WriteLine("Error Message : " + e.Message);
}
}
static void UpdatePageContent()
{
ApplicationClass onApplication=新的ApplicationClass();
字符串strImportXML;
strImportXML=@“”+
"
我真的不知道如何解决这个问题。strImportXML字符串中存在一些问题,导致更新失败
- 调整
@“
至”
- 在页面ID属性(
+“”+”ID
…
而不是+“”+“ID
)
- 确保在应用程序的
中找到/存在页面ID
等级制度
- 确保引用COM库时使用了匹配的
one:Page
元素中定义的命名空间(例如Office 2013/15.0
对象库有另一个名称空间)
您的XML对OneNote不友好
以下是错误代码列表:
您可以删除第一行,正如@Sebastian所说,它的格式无论如何都不正确,我的经验是OneNote不需要它
另外,请记住,您不需要发送整个页面。您只需要发送页面的objId和任何更新的对象。因此需要添加一个大纲,这样也可以:
"<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/12/2004/onenote\" +
"ID=\"{5BE09697-903A-45DD-88D4-8AD301A3D91F}{1}{B0}\">" +
" <one:Outline >" +
" <one:Position x=\"120\" y=\"160\"/>" +
" <one:Size width=\"120\" height=\"15\"/>" +
" <one:OEChildren>" +
" <one:OE alignment=\"left\">" +
" <one:T>" +
" <![CDATA[New Text]]>" +
" </one:T>" +
" </one:OE>" +
" </one:OEChildren>" +
" </one:Outline>";
”
只需添加此新大纲即可
如果您仍然遇到问题(它不会抱怨,但内容不会更新)然后检查UpdatePageContent的额外参数,当然在2013 API中可以发送上次修改的日期进行检查,还有一个参数用于强制本地重写。该链接没有太大帮助。请让我们看看引发异常的代码。抱歉,我忘了。谢谢剩下的部分