当前位置: 首页 > 编程语言 > C#

C#新建OneNote2010Pages分享

时间:2023-04-11 03:01:39 C#

C#新建OneNote2010Pages):我想要一个在OneNote2010中创建新页面的控制台应用程序。新页面将始终转到相同的部分,该部分已经存在。页面标题将是Windows剪贴板中的字符串。我知道如何做剪贴板部分(程序还会在指定路径中创建一个文件夹,以剪贴板中的字符串命名),但我无法开始使用OneNote部分。我一直在努力理解这些文章(第二篇只有VB中的示例,所以我也必须处理它):http://msdn.microsoft.com/en-us/library/gg649853.aspxhttp://代码。msdn.microsoft.com/windowsdesktop/OneNote-2010-Create-New-880f8ee3但我基本上还是迷路了。我不需要找到任何部分或任何部分的名称,我知道我的新页面将始终进入一个名为Notes的笔记本中,至少对于第一个版本/我仍在学习时是这样。我正在寻找有关如何从C#创建新的OneNote页面的精彩、集中的解释。MSDN文章假定了我没有的各种先验知识,我宁愿从头开始学习,也不愿花一个月的时间阅读。基本程序运行后,我将花费大量时间对其进行调整,这应该是一个很好的学习方式。有关详细文章,请查看此MSDN杂志链接。我使用那里的示例代码创建了一个快速片段,供您在给定笔记本的给定部分中创建新页面。如果您使用的是VisualStudio2010,则文章中列出了几个“问题”:首先,由于VisualStudio2010附带的OneNote互操作程序集不匹配,您不应直接引用“添加引用”对话框的“.NET"选项卡,但引用COM选项卡上的MicrosoftOneNote14.0类型库组件。这仍会在项目的引用中添加OneNote互操作程序集。其次,OneNote14.0类型库与VisualStudio2010的“NOPIA”功能不兼容(默认情况下主互操作程序集未嵌入到应用程序中)。因此,确保OneNoteInteropAssemblyReference的“EmbedInteropType”属性设置为False。使用系统;使用System.Collections.Generic;使用System.Linq;使用系统文本;使用System.Xml.Linq;使用Microsoft.Office.Interop.OneNote;命名空间OneNote{类程序{staticApplicationonenoteApp=newApplication();静态XNamespacens=null;staticvoidMain(string[]args){GetNamespace();stringnotebookId=GetObjectId(null,HierarchyScope.hsNotebooks,"任务");stringsectionId=GetObjectId(notebookId,HierarchyScope.hsSections,"Notes");stringpageId=CreatePage(sectionId,"测试");}staticvoidGetNamespace(){字符串xml;onenoteApp.GetHierarchy(null,HierarchyScope.hsNotebooks,输出xml);vardoc=XDocument.Parse(xml);ns=doc.Root.Name.Namespace;}staticstringGetObjectId(stringparentId,HierarchyScopescope,stringobjectName){stringxml;onenoteApp.GetHierarchy(parentId,scope,outxml);vardoc=XDocument.Parse(xml);var节点名="";switch(scope){case(HierarchyScope.hsNotebooks):nodeName="否tebook”;中断;案例(HierarchyScope.hsPages):nodeName=“Page”;中断;案例(HierarchyScope.hsSections):nodeName=“Section”;中断;默认:返回空值;}varnode=doc.Descendants(ns+nodeName).Where(n=>n.Attribute("name").Value==objectName).FirstOrDefault();returnnode.Attribute("ID").Value;}静态字符串CreatePage(stringsectionId,stringpageName){//创建新页面stringpageId;onenoteApp.CreateNewPage(sectionId,outpageId,NewPageStyle.npsBlankPageWithTitle);//获取标题并将其设置为我们的页面名称stringxml;onenoteApp.GetPageContent(pageId,outxml,PageInfo.piAll);vardoc=XDocument.Parse(xml);vartitle=doc.Descendants(ns+"T").First();title.Value=pageName;//更新页面onenoteApp.UpdatePageContent(doc.ToString());returnpageId;}}}如果MSInterop不是您的选项,请尝试查看Aspose.Note新建一个页面非常简单:以上是C#学习教程:从C#新建一个OneNote2010页面,分享所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——vardoc=newDocument();变种页面=新页面(文档);page.Title=newTitle(doc){TitleText=newRichText(doc){Text="Titletext.",DefaultStyle=TextStyle.DefaultMsOneNoteTitleTextStyle},TitleDate=newRichText(doc){Text=newDateTime(2011,11,11).ToString("D",CultureInfo.InvariantCulture),DefaultStyle=TextStyle.DefaultMsOneNoteTitleDateStyle},TitleTime=newRichText(doc){Text="12:34",DefaultStyle=TextStyle.DefaultMsOneNoteTitleTimeStyle}};page.AppendChild(大纲);doc.AppendChild(页面);doc.Save("output.one")管理员删除。如需转载请注明出处: