我想将我的应用程序中的文本导出到MS OneNote并支持Office版本:2007,2010,2013和2016.我使用的是Microsoft.Office.Interop.OneNote.dll Version:12.0.
0,因为它随所有Office版本提供。
问题是,当我尝试使用“CreateNewPage”在Office 2013上创建新的OneNote页面时,我得到了例外:
hrSectionReadOnly 0x8004200b
该部分是只读的。
我可以看到属性readOnly="true"
我试图改变它并且没有帮助。仍然得到同样的例外。
如果我引用Microsoft.Office.Interop.OneNote.dll Version:15.0.0
,那么一切正常。
任何想法,为什么它只读,我怎么能克服这个问题?
以下是代码示例:
string strPath;
string sectionId;
string xml;
// points directly on OneNote's Unfiled section
_app.GetSpecialLocation(SpecialLocation.slUnfiledNotesSection, out strPath);
_app.OpenHierarchy(strPath, "", out sectionId, CreateFileType.cftSection);
_app.CreateNewPage(sectionId, out _sectionId, NewPageStyle.npsDefault);
var strImportXml = @"<?xml version='1.0' ?>
<one:Page xmlns:one='" + _oneNoteNamespace + "' ID='" + _sectionId + @"'>
<one:Title>
<one:OE>
<one:T>
<![CDATA[
]]>
</one:T>
</one:OE>
</one:Title>
<one:Outline>
<one:Meta name='Rumba' content='" + new Random().Next() + @"' />
<one:OEChildren>
<one:HTMLBlock>
<one:Data>
<![CDATA[My sample page]]>
</one:Data>
</one:HTMLBlock>
</one:OEChildren>
</one:Outline>
</one:Page>";
_app.UpdatePageContent(strImportXml, DateTime.MinValue);
_app.NavigateTo(_sectionId, String.Empty, true);
答案 0 :(得分:0)
function node(x)
{
this.x=x;
this.next=null;
}
function sl()
{
this.l=0;
this.first=null;
}
sl.prototype.insertl=function(x)
{
var newnode=new node(x);
var t=this.first;
if(!this.first)
this.first=newnode;
else
{
while(t.next)
t=t.next;
t.next=newnode;
}
l++;
}
sl.prototype.deletel=function()
{
if(this.first)
{
var t=this.first;
while(t.next)
t=t.next;
if(t)
t=null;
}
}
sl.prototype.console=function()
{
var t=this.first;
while(t)
{
document.write(t.x);
t=t.next;
}
}
sl();
sl.prototype.insertl(0);
sl.prototype.insertl(1);
sl.prototype.insertl(2);
sl.prototype.insertl(3);
sl.prototype.insertl(4);
sl.prototype.deletel();
alert("check");
sl.prototype.console();
检查文件是否处于活动状态,如果未激活,则可以使用else部分,以便当前数据附加有退出值