提问人:Adel M. 提问时间:8/15/2023 最后编辑:Simon MourierAdel M. 更新时间:8/15/2023 访问量:26
在 C 中使用 OneNote 互操作创建新页面时无法指定页面名称#
Cannot specify page name when creating a new page using OneNote interop in C#
问:
我正在使用 C# 中的 OneNote 互操作创建 OneNote 加载项。我想创建一个具有特定名称的页面,但我无法这样做。我曾经获取笔记本的 XML,使用 LINQ to XML 对其进行修改,然后使用 .它只是创建了一个没有任何标题的新空白页(无标题页)。Application.GetHierarchy
Application.UpdateHierarchy
string globalXmlInitialStr;
_oneNoteApp.GetHierarchy(null, OneNote.HierarchyScope.hsPages, out globalXmlInitialStr, OneNote.XMLSchema.xs2010);
var globalXml = XDocument.Parse(globalXmlInitialStr);
var parentXMl = (
from elem in globalXml.Descendants(ONE_NS + oneNoteElementToCreateType)
where (string)elem.Attribute("ID") == _oneNoteApp.Windows.CurrentWindow.CurrentSectionId
select elem
).ElementAt(0);
var newPageXml = new XElement(new XNamespace("http://schemas.microsoft.com/office/onenote/2010/onenote") + "Page");
newPageXml.SetAttributeValue("name", name);
_oneNoteApp.UpdateHierarchy(globalXml.ToString(), OneNote.XMLSchema.xs2010);
我还尝试使用该方法返回的 ID 来检索 XML 元素并修改 name 属性,但没有成功。它始终创建一个新的无标题空白页。但是,我可以通过将 XML 设置为 name 属性来轻松创建具有特定名称的节和节组。我还能够为页面指定“pageLevel”属性,因此问题实际上特定于页面名称。Application.CreatePage
我做错了什么?
答: 暂无答案
评论