Интерфейс приложения (OneNote)
С помощью методов интерфейса приложения можно извлекать и обновлять содержимое и данные OneNote, а также работать с такими данными и содержимым. Методы разбиты на четыре общие категории.
Структура записной книжки — методы для работы со структурой записных книжек, в том числе для обнаружения, открытия, изменения, закрытия и удаления записных книжек, групп разделов и разделов.
Содержимое страницы — методы для работы со страницами и содержимым страниц, включая методы обнаружения, изменения, сохранения и удаления содержимого страницы. Содержимое страницы включает двоичные объекты, в частности объекты рукописного ввода и изображения, а также текстовые объекты, например структуры.
Навигация — методы для поиска страниц и объектов, связывания и перехода к ней.
Функциональный — все остальные методы, которые выполняют определенные действия или задают параметры в OneNote.
Кроме того, интерфейс приложения содержит ряд свойств и событий.
Методы структуры записной книжки
Методы, описанные в этом разделе, позволяют находить, открывать, изменять, закрывать и удалять записные книжки OneNote, разделы и группы разделов.
Метод GetHierarchy
Значение | Описание |
---|---|
Описание |
Получает структуру иерархии узла записной книжки, начиная с указанного узла (все записные книжки или одна записная книжка, группа разделов или раздел) и заканчивая последним потомком на указанном уровне (раскрытие списка потомков). |
Синтаксис |
HRESULT GetHierarchy( [in]BSTR bstrStartNodeID, [in]HierarchyScope hsScope, [out]BSTR * pbstrHierarchyXmlOut, [in,defaultvalue(xs2013)]XMLSchema xsSchema); |
Параметры |
bstrStartNodeID — узел (записная книжка, группа разделов или раздел), потомки которого вам нужны. Если вы передаете строку NULL (""), метод получает все узлы ниже корневого узла (то есть все записные книжки, группы разделов и разделы). Если указать узел в виде записной книжки, группы разделов или раздела, метод получает только потомков этого узла. hsScope — самый низкий уровень узла-потомка. Например, если указать страницы, метод возвращает все узлы до уровня страниц. Если указать разделы, метод получит только узлы разделов, указанных под уровнем записной книжки. Дополнительные сведения см. в статье о перечислении HierarchyScope в теме Перечисление. pbstrHierarchyXmlOut — (выходной параметр) — указатель на строку, в которой OneNote записывает выходные данные XML. xsSchema — (необязательно) — версия схемы XML OneNote типа XMLSchema, которую требуется вывести. Вы можете указать нужную версию схемы XML: 2013, 2010, 2007 или текущую. ПРИМЕЧАНИЕ. Мы рекомендуем указать версию OneNote (например , xs2013) вместо использования xsCurrent или оставить ее пустым, так как это позволит надстройке работать с будущими версиями OneNote. |
Метод GetHierarchy по умолчанию возвращает строку в формате XML OneNote 2013 или можно задать предпочтительную версию схемы XML с помощью необязательного параметра xsSchema .
В зависимости от переданных параметров метод GetHierarchy может возвращать разные списки (например, все записные книжки, все разделы всех записных книжек, все страницы в пределах указанного раздела или все страницы указанной записной книжки). Для каждого узла возвращенная строка XML содержит свойства (например, раздел или название страницы, идентификатор и время последнего изменения).
Не все сочетания начального узла и области допустимы. Например, если указать начальный узел в виде раздела и область в виде записной книжки, GetHierarchy возвратит результат NULL, так как записная книжка находится в иерархии узлов выше, чем раздел.
В следующем примере на C# показано, как использовать метод GetHierarchy, чтобы получить всю иерархию OneNote, включая все записные книжки, до уровня страницы. Он копирует выходную строку в буфер обмена, из которого можно вставить строку в текстовый редактор для проверки.
static void GetEntireHierarchy()
{
String strXML;
OneNote.Application onApplication = new OneNote.Application();
onApplication.GetHierarchy(null,
OneNote.HierarchyScope.hsPages, out strXML);
Clipboard.SetText(strXML);
MessageBox.Show("The XML has been copied to the clipboard");
}
Метод UpdateHierarchy
Значение | Описание |
---|---|
Описание | Изменяет или обновляет иерархию записных книжек. Например, можно добавить разделы и группы разделов в записную книжку, добавить новую записную книжку, переместить разделы в пределах записной книжки, изменить имя раздела, добавить страницы в раздел или изменить порядок страниц в разделах. |
Синтаксис | HRESULT UpdateHierarchy( [in]BSTR bstrChangesXmlIn, [in,defaultvalue(xsCurrent)] XMLSchema xsSchema); |
Параметры |
bstrChangesXmlIn — строка, содержащая XML-код OneNote, указывающий изменения иерархии, которые необходимо внести. Например, если вы хотите вставить новый раздел, вы можете добавить элемент Section в строку XML, чтобы указать место добавления раздела. Кроме того, если вы хотите переименовать существующий раздел, можно сохранить тот же идентификатор раздела и изменить его атрибут name в XML-коде. xsSchema — (необязательно) Версия схемы OneNote строки bstrChangesXmln. Это необязательное значение используется для указания версии схемы XML OneNote, в которую входит строка bstrChangesXmlIn . Если это значение не указано, OneNote будет предполагать, что XML-файл находится в версии схемы xsCurrent. ПРИМЕЧАНИЕ. Мы рекомендуем указать версию OneNote (например , xs2013) вместо использования xsCurrent или оставить ее пустым, так как это позволит надстройке работать с будущими версиями OneNote. |
Если передать только частичную xml-строку OneNote для параметра bstrChangesXmlIn , OneNote попытается вывести нужные изменения. Например, если вы включаете элемент Notebook, который содержит только один раздел, OneNote добавляет раздел после всех существующих разделов. Однако если указанная вами операция неоднозначна, определить результат может быть сложно. Например, если существующая записная книжка содержит четыре раздела, а переданная строка XML включает записную книжку и только четвертый и первый разделы (в таком порядке), OneNote может поместить второй и третий разделы перед четвертым разделом или после первого раздела.
С помощью метода UpdateHierarchy невозможно удалить часть записной книжки. Иными словами, передача строки XML, которая содержит только часть существующей иерархии, не приводит к удалению разделов, которые не входят в строку. Чтобы удалить часть иерархии, используйте метод DeleteHierarchy.
Указанный ниже код C# демонстрирует один способ использования метода UpdateHierarchy для изменения иерархии OneNote путем изменения имени существующего раздела. Он читает XML-код из файла образца с именем ChangeSectionName.xml в корне диска C, загружает код в XML-документ, а затем передает структуру XML этого документа методу.
static void UpdateExistingHierarchy()
{
OneNote.Application onApplication = new OneNote.Application();
// Get the XML from the file.
XmlTextReader reader = new XmlTextReader("C:\\ChangeSectionName.xml");
reader.WhitespaceHandling = WhitespaceHandling.None;
XmlDocument xmlDocIn = new XmlDocument();
xmlDocIn.Load(reader);
// Update the hierarchy.
onApplication.UpdateHierarchy(xmlDocIn.OuterXml,
OneNote.XMLSchema.xs2007);
}
Следующий XML-код является выдержкой из файла ChangeSectionName.xml, переданной методу с помощью предыдущего кода на C#. При передаче методу UpdateHierarchy XML изменяет имя одного из разделов в существующей иерархии (изменяет значение атрибута name, указывая "My Renamed Section"). Затем он удаляет все разделы, кроме раздела с измененным именем. Кроме того, код удаляет ненужные атрибуты из целевого элемента Section, включая атрибуты lastModifiedTime, isCurrentlyViewed и color, оставляя незатронутыми только атрибуты name, ID и path.
<?xml version="1.0" ?>
<one:Notebooks xmlns:one="http://schemas.microsoft.com/office/onenote/12/2004/onenote">
<one:Notebook name="My Notebook" nickname="My Notebook" ID="{0B8E7305-AC2C-4BCB-8651-1CDA55AAE14C}{1}{B0}">
<one:Section name="My Renamed Section" ID="{5F4E2908-44BA-4C02-91FE-49FC665E9A33}{1}{B0}" path="C:\My Section.one" />
</one:Notebook>
</one:Notebooks>
Предыдущий XML-код был получен с помощью кода, показанного в примере для метода GetHierarchy, который изменен, как показано ниже, чтобы ограничить область разделами.
static void GetAllSections()
{
String strXML;
OneNote.Application onApplication = new OneNote.Application();
onApplication.GetHierarchy(System.String.Empty,
OneNote.HierarchyScope.hsSections, out strXML);
Clipboard.SetText(strXML.ToString());
MessageBox.Show("The XML has been copied to the Clipboard");
}
В следующем примере C# показано полное консольное приложение, которое ищет раздел с именем "Sample_Section
", предлагает пользователю ввести новое имя раздела, а затем использует метод UpdateHierarchy для изменения имени раздела на имя, введенное пользователем. Перед выполнением кода измените "Sample_Section
" на имя раздела, существующего в иерархии OneNote.
static void Main(string[] args)
{
// OneNote 2013 Schema namespace.
string strNamespace = "http://schemas.microsoft.com/office/onenote/2013/onenote";
string outputXML;
Application onApplication = new Application();
onApplication.GetHierarchy(null, HierarchyScope.hsSections, out outputXML);
// Load a new XmlDocument.
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(outputXML);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmlDoc.NameTable);
nsmgr.AddNamespace("one", strNamespace);
// Search for the section named "Sample_Section".
XmlNode xmlNode = xmlDoc.SelectSingleNode("//one:Section[@name='Sample_Section']", nsmgr);
// Prompt for a new section title.
System.Console.Write("Please enter a new title for the section: ");
string input = System.Console.ReadLine();
xmlNode.Attributes["name"].Value = input;
// Update the section with the new title.
onApp.UpdateHierarchy(xmlNode.OuterXml);
System.Console.Write("Done!\n");
}
Метод OpenHierarchy
Значение | Описание |
---|---|
Описание |
Откроется раздел или группа разделов, которые вы указали. |
Синтаксис |
HRESULT OpenHierarchy( [in]BSTR bstrPath, [in]BSTR bstrRelativeToObjectID, [out]BSTR * pbstrObjectID, [in,defaultvalue(cftNone)]CreateFileType cftIfNotExist); |
Параметры |
bstrPath — путь, который нужно открыть. Для записной книжки или группы разделов в записной книжке bstrPath может быть путем к папке или файлу раздела .one. Если указать путь к файлу раздела .one, необходимо включить расширение .one в строку пути к файлу. bstrRelativeToObjectID — идентификатор OneNote родительского объекта (записная книжка или группа разделов), под которым нужно открыть новый объект. Если параметр bstrPath является абсолютным путем, можно передать пустую строку ("") для bstrRelativeToObjectID. Кроме того, можно передать идентификатор объекта записной книжки или группы разделов, который должен содержать создаваемый объект (раздел или группу разделов). Затем укажите имя файла (например, section1.one) объекта, который нужно создать ниже этого родительского объекта. pbstrObjectID — (выходной параметр) — идентификатор объекта, который OneNote возвращает для записной книжки, группы разделов или раздела, открываемого методом OpenHierarchy . Этот параметр является указателем на строку, в которую метод должен записать идентификатор. cftlfNotExist — (необязательно) перечисленное значение из перечисления CreateFileType . При передаче значения для cftIfNotExist метод OpenHierarchy создает группу разделов или файл раздела по указанному пути только в том случае, если файл еще не существует. |
Если указать группу разделов, которой нет в открытой записной книжке, метод OpenHierarchy откроет группу разделов как записную книжку. Если указать раздел, которого нет в открытой записной книжке, метод OpenHierarchy откроет раздел в группе недавно открытых разделов. Если указать группу разделов или раздел, которые уже есть в открытой записной книжке, ничего не произойдет, потому что нужная группа разделов или раздел уже открыты. В любом случае OpenHierarchy возвращает идентификатор объекта для группы разделов, записной книжки или раздела, которые вы указали, для использования в других операциях.
С помощью метода OpenHierarchy можно также создавать новые разделы, не прибегая к импорту XML.
Приведенный ниже код демонстрирует, как использовать метод OpenHierarchy, чтобы открыть раздел "Собрания" в записной книжке "Работа" и получить идентификатор раздела. Если раздел еще не существует, OneNote создает его в указанном расположении.
static void OpenSection()
{
String strID;
OneNote.Application onApplication = new OneNote.Application();
onApplication.OpenHierarchy("C:\\Documents and Settings\\user\\My Documents\\OneNote Notebooks\\Work\\Meetings.one",
System.String.Empty, out strID, OneNote.CreateFileType.cftSection);
}
Метод DeleteHierarchy
Значение | Описание |
---|---|
Описание |
Удаляет любой объект иерархии (группу разделов, раздел или страницу) из иерархии записной книжки OneNote. |
Синтаксис |
HRESULT DeleteHierarchy( [in]BSTR bstrObjectID, [in,defaultvalue(0)]DATE dateExpectedLastModified, [in,defaultvalue(false)]VARIANT_BOOL deletePermanently); |
Параметры |
bstrObjectID — идентификатор OneNote объекта, который требуется удалить. Объект может быть группой разделов, разделом или страницей. dateExpectedLastModified — (необязательно) Дата и время последнего изменения объекта, который требуется удалить. При передаче ненулевого значения для этого параметра OneNote будет выполнять обновление, только если переданное значение соответствует фактической дате и времени последнего изменения объекта. Передача значения для этого параметра помогает предотвратить случайную перезапись во время внесения правок пользователей после последнего изменения объекта. deletePermanently — (необязательно) true для окончательного удаления содержимого; Значение false для перемещения содержимого в корзину OneNote для соответствующей записной книжки (по умолчанию). Если записная книжка имеет формат OneNote 2007, корзина не существует, поэтому содержимое удаляется без возможности восстановления. |
Метод CreateNewPage
Значение | Описание |
---|---|
Описание |
Добавляет новую страницу в конец указанного раздела. Новая страница будет добавлена в качестве последней страницы раздела |
Синтаксис |
HRESULT CreateNewPage( [in]BSTR bstrSectionID, [out]BSTR * pbstrPageID); [in,defaultvalue(npsDefault)]NewPageStyle npsNewPageStyle); |
Параметры |
bstrSectionID — строка, содержащая идентификатор OneNote раздела, в котором вы хотите создать новую страницу. pbstrPageID ( выходной параметр) — указатель на строку, в которую метод записывает идентификатор OneNote для созданной страницы. npsNewPageStyle — значение из перечисления NewPageStyle , указывающее стиль создаваемой страницы. |
API OneNote включает в себя метод CreateNewPage для удобства. Можно получить аналогичный результат с лучшим управлением над расположением новой страницы в иерархии, вызвав метод UpdateHierarchy. Метод UpdateHierarchy также дает возможность создавать вложенные страницы в момент создания новой страницы.
Способ CloseNotebook
Значение | Описание |
---|---|
Описание |
Закрывает указанную записную книжку. |
Синтаксис |
HRESULT CloseNotebook( [in]BSTR bstrNotebookID, [in,defaultvalue(false)]VARIANT_BOOL force); |
Параметры |
bstrNotebookID — идентификатор OneNote записной книжки, которую нужно закрыть. force — (необязательно) true , чтобы закрыть записную книжку, даже если в записной книжке есть изменения, которые OneNote не может синхронизировать перед закрытием; в противном случае значение false (значение по умолчанию). |
С помощью метода CloseNotebook можно закрыть указанную записную книжку. При вызове этого метода OneNote синхронизирует все автономные файлы с содержимым текущей записной книжки, если это необходимо, и затем закрывает указанную записную книжку. После возвращения метода записная книжка больше не отображается в списке открытых записных книжек в пользовательском интерфейсе OneNote.
Метод GetHierarchyParent
Значение | Описание |
---|---|
Описание |
Получает идентификатор OneNote родительского объекта OneNote. |
Синтаксис |
HRESULT GetHierarchyParent ( [in]BSTR bstrObjectID, [out]BSTR * pbstrParentID); |
Параметры |
bstrObjectID — строка, содержащая идентификатор OneNote объекта, для которого требуется найти родительский объект. pbstrParentID ( выходной параметр) — указатель на строку, в которую метод записывает идентификатор OneNote родительского объекта. |
Если у объекта OneNote нет родительского объекта (например, если пользователь желает получить родительский объект записной книжки), выдается исключение.
Метод GetSpecialLocation
Значение | Описание |
---|---|
Описание |
Находит путь к расположению, где OneNote сохраняет определенные специальные элементы, такие как резервные копии, не подшитые заметки и записная книжку по умолчанию. |
Синтаксис |
HRESULT GetSpecialLocation( [in]SpecialLocation slToGet, [out]BSTR * pbstrSpecialLocationPath); |
Параметры |
slToGet — одно из значений перечисления SpecialLocation , указывающее расположение специальной папки для получения. pbstrSpecialLocationPath — (выходной параметр) — указатель на строку, в которую oneNote будет записывать путь к специальной папке. |
С помощью этого метода можно определить место на диске, в котором хранится папка "Не подшитые заметки". Иными словами, папка, в которой OneNote хранит заметки, которые создаются при перетаскивании элемента в OneNote, а также заметки, полученные напрямую от других приложений (такие, которые возникают при выборе Отправить в OneNote в Microsoft Outlook или Microsoft Internet Explorer).
Методы для содержимого страницы
Методы, описанные в этом разделе, позволяют обнаруживать, обновлять и удалять содержимое на страницах в записных книжках OneNote, а также публиковать содержимое OneNote.
Метод GetPageContent
Значение | Описание |
---|---|
Описание | Получает все содержимое (в формате XML OneNote) указанной страницы. |
Синтаксис | HRESULT GetPageContent( [in]BSTR bstrPageID, [out]BSTR * pbstrPageXmlOut, [in,defaultvalue(piBasic)]PageInfo pageInfoToExport, [in,defaultvalue(xsCurrent)]XMLSchema xsSchema); |
Параметры |
bstrPageId — идентификатор OneNote страницы, содержимое которой вы хотите получить. pbstrPageXmlOut — (выходной параметр) — указатель на строку, в которую oneNote записывает выходные данные XML. pageInfoToExport — (необязательно) Указывает, возвращает ли метод GetPageContent двоичное содержимое, внедренное в XML-код и закодированное base-64. Двоичные данные могут включать, например, изображения и данные рукописного ввода. Параметр pageInfoToExport также указывает, нужно ли выполнять разметку выделенного XML-кода, который возвращен методом GetPageContent. Необходимое значение перечисления из PageInfo. xsSchema — (необязательно) — версия схемы XML OneNote типа XMLSchema, которую требуется вывести. Вы можете указать нужную версию схемы XML: 2013, 2010, 2007 или текущую. ПРИМЕЧАНИЕ. Мы рекомендуем указать версию OneNote (например , xs2013) вместо использования xsCurrent или оставить ее пустым, так как это позволит надстройке работать с будущими версиями OneNote. |
По умолчанию, чтобы избежать чрезмерной длины возвращаемой строки XML, OneNote не внедряет двоичные данные в XML-код. По этой же причине приложение не выполняет разметку для текущего выделенного фрагмента с помощью атрибутов выделения. Двоичные объекты содержат идентификатор OneNote в своих тегах. Чтобы получить двоичный объект, вызовите метод GetBinaryPageContent и передайте ему идентификатор OneNote, полученный от метода GetPageContent. Используйте метод GetPageContent, когда двоичные данные не требуются мгновенно.
Метод UpdatePageContent
Значение | Описание |
---|---|
Описание | Обновляет или изменяет содержимое на странице. |
Синтаксис | HRESULT UpdatePageContent( [in]BSTR bstrPageChangesXmlIn, [in,defaultvalue(0)]DATE dateExpectedLastModified, [in,defaultvalue(xsCurrent)]XMLSchema xsSchema, [in,defaultvalue(false)]VARIANT_BOOL force); |
Параметры |
bstrPageChangesXmlIn — строка, содержащая XML-код OneNote, включающий изменения, которые вы хотите внести на страницу. dateExpectedLastModified — (необязательно) Дата и время последнего изменения страницы, которую вы хотите обновить. При передаче ненулевого значения для этого параметра OneNote будет выполнять обновление, только если переданное значение соответствует фактической дате и времени последнего изменения страницы. Передача значения для этого параметра помогает предотвратить случайную перезапись во время внесения правок пользователей после последнего изменения страницы. xsSchema — (необязательно) — версия схемы XML OneNote типа XMLSchema, которую требуется вывести. Вы можете указать нужную версию схемы XML: 2013, 2010, 2007 или текущую. ПРИМЕЧАНИЕ. Мы рекомендуем указать версию OneNote (например , xs2013) вместо использования xsCurrent или оставить ее пустым, так как это позволит надстройке работать с будущими версиями OneNote. force (необязательный параметр). Чтобы обновить содержимое страницы, даже если есть неизвестные данные на странице от будущей версии OneNote, используется true. В противном случае используется false (по умолчанию). |
С помощью этого метода можно изменять страницу разными способами. Например, с помощью метода UpdatePageContent можно добавить структуру на страницу, изменить содержимое структуры, добавить изображения, добавить объект рукописного ввода, переместить содержимое и изменить текст в структурах.
Более конкретный пример: с помощью метода GetPageContent можно экспортировать существующую страницу, внести некоторые изменения в XML-код страницы, а затем с помощью метода UpdatePageContent импортировать всю страницу снова. Кроме того, можно использовать этот метод для добавления новых объектов страницы, например изображений, в конец существующей страницы.
Единственные объекты, которые необходимо включить в XML-код, передаваемый методу UpdatePageContent, — это объекты уровня страницы (например, структуры, изображения на странице или объект рукописного ввода на странице), которые были изменены. Этот метод не изменяет и не удаляет объекты уровня страницы, которые не указаны в параметре bstrPageChangesXmlIn. Метод полностью заменяет такие объекты уровня страницы, как структуры, идентификаторы которых соответствуют переданным объектам. Поэтому необходимо полностью указать все объекты уровня страницы в коде, включая их существующее содержимое и внесенные в них изменения.
Например, если страница содержит структуру и изображение страницы фона, можно заменить структуру и оставить изображение без изменений, полностью указав структуру в XML-коде с помощью идентификатора существующей структуры, не включая изображение в код. Так как измененная структура, которую вы включаете в код, полностью заменяет существующую, необходимо включить все содержимое структуры.
Кроме того, метод UpdatePageContent изменяет только свойства элементов, которые вы указываете в параметре bstrPageChangesXmlIn. Например, если указать некоторые, но не все свойства элемента PageSettings, свойства, которые вы не указываете, остаются без изменений.
В приведенном ниже примере показано, как использовать метод UpdatePageContent, чтобы изменить название страницы и добавить на нее некоторый текст образца. Перед выполнением кода замените действительный идентификатор страницы, отображаемый в коде, чтобы код работал на вашем компьютере. Можно получить идентификатор страницы с помощью метода GetHierarchy и проверки выходных данных.
static void UpdatePageContent()
{
OneNote.Application onApplication = new OneNote.Application();
String strImportXML;
strImportXML = "<?xml version=\"1.0\"?>" +
"<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/12/2004/onenote\"
ID=\"{3428B7BB-EF39-4B9C-A167-3FAE20630C37}{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 the page content.
onApplication.UpdatePageContent(strImportXML, System.DateTime.MinValue);
}
Метод GetBinaryPageContent
Значение | Описание |
---|---|
Описание |
Возвращает двоичный объект (например, рукописного ввода или изображения) на странице OneNote в виде строки в кодировке Base64. |
Синтаксис |
HRESULT GetBinaryPageContent( [in]BSTR bstrPageID, [in]BSTR bstrCallbackID, [out]BSTR * pbstrBinaryObjectB64Out); |
Параметры |
bstrPageID — идентификатор OneNote страницы, содержащей двоичный объект для получения. bstrCallBackID — идентификатор OneNote двоичного объекта, который вы хотите получить. Этот идентификатор, который называется callbackID, находится в XML-коде OneNote для страницы, возвращаемой методом GetPageContent. pbstrBinaryObectB64Out — указатель на строку, в которую OneNote записывает двоичный объект в виде строки в кодировке base-64. |
Метод DeletePageContent
Значение | Описание |
---|---|
Описание |
Удаляет объект , например объект Outline, Ink или Image со страницы. |
Синтаксис |
HRESULT DeletePageContent( [in]BSTR bstrPageID, [in]BSTR bstrObjectID, [in,defaultvalue(0)]DATE dateExpectedLastModified, [in,defaultvalue(#)]VARIANT_BOOL force); |
Параметры |
bstrPageID — идентификатор OneNote страницы, содержащей удаляемый объект. bstrObjectID — идентификатор OneNote объекта, который требуется удалить. dateExpectedLastModified — (необязательно) Дата и время последнего изменения страницы, содержащей удаляемое содержимое. При передаче ненулевого значения для этого параметра OneNote будет выполнять удаление, только если переданное значение соответствует фактической дате и времени последнего изменения страницы. Передача значения для этого параметра помогает предотвратить случайную перезапись во время внесения правок пользователей после последнего изменения страницы. force — значение true (необязательно) для обновления содержимого страницы, даже если на странице есть неизвестные данные из будущей версии OneNote; в противном случае значение false (значение по умолчанию). |
Метод Publish
Значение | Описание |
---|---|
Описание |
Экспорт указанной страницы в файл в любом формате, поддерживаемом приложением OneNote. |
Синтаксис |
HRESULT Publish( [in]BSTR bstrHierarchyID, [in]BSTR bstrTargetFilePath, [in,defaultvalue(pfOneNote)]PublishFormat pfPublishFormat, [in,defaultvalue(0)]BSTR bstrCLSIDofExporter); |
Параметры |
bstrHierarchyID — идентификатор OneNote иерархии, которую требуется экспортировать. bstrTargetFilePath — абсолютный путь к расположению, в котором требуется сохранить итоговый выходной файл. Указанного вами файла не должно быть в этом расположении. pfPublishFormat — одно из значений перечисления PublishFormat , указывающее формат, в котором должна быть опубликованная страница (например, MTHML, PDF и т. д.). bstrCLSIDofExporter — идентификатор класса (CLSID) зарегистрированного COM-приложения, которое может экспортировать расширенные метафайлы Microsoft Windows (.emf). В COM-приложении необходимо реализовать интерфейс IMsoDocExporter. Этот параметр включен, чтобы разрешить сторонним разработчикам писать собственный код для публикации содержимого OneNote в пользовательском формате. Дополнительные сведения об интерфейсе IMsoDocExporter см. в статье Расширение функции экспорта с фиксированным форматом Office 2007. |
В настоящее время OneNote поддерживает такие форматы файлов:
- файлы MHTML (.mht);
- файлы Adobe Acrobat PDF (.pdf);
- файлы XML Paper Specification (XPS) (.xps);
- файлы OneNote 2013, 2010 или 2007 (.one);
- файлы пакетов OneNote (.onepkg);
- документы Microsoft Word (.doc или .docx);
- расширенные метафайлы Microsoft Windows (.emf);
- HTML-файлы (.html).
Этот метод дает точно такие же результаты, которые можно получить, нажав кнопку Опубликовать в пользовательском интерфейсе и указав нужный формат.
Методы навигации
Методы, описанные в этом разделе, позволяют находить записные книжки, группы разделов, разделы, страницы и объекты страницы OneNote, переходить к ним и создавать на них ссылки.
Метод NavigateTo
Значение | Описание |
---|---|
Описание |
Переходит на указанный объект (например, разделы, страницы и элементы структуры в пределах страниц). |
Синтаксис |
HRESULT NavigateTo( [in]BSTR bstrHierarchyObjectID, [in,defaultvalue(#)]BSTR bstrObjectID, [in,defaultvalue(0)]VARIANT_BOOL fNewWindow); |
Параметры |
bstrHierarchyObjectID — идентификатор OneNote объекта, к которому вы хотите перейти в иерархии OneNote. bstrObjectID — идентификатор OneNote объекта, к которому вы хотите перейти на странице OneNote. fNewWindow — (необязательно) true , чтобы открыть указанный объект в новом окне OneNote. Используется false, чтобы не открывать новое окно OneNote, если одно уже открыто. |
Метод NavigateToUrl
Значение | Описание |
---|---|
Описание |
Если передана ссылка OneNote (onenote://), откроется окно OneNote для соответствующего расположения в OneNote. Если ссылка является внешней по отношению к OneNote (например, https:// или file://), появится диалоговое окно системы безопасности. После удаления OneNote попытается открыть ссылку, и будет возвращена ошибка HResult.hrObjectDoesNotExist. |
Синтаксис |
HRESULT NavigateTo( [in]BSTR bstrUrl, [in,defaultvalue(0)]VARIANT_BOOL fNewWindow); |
Параметры |
bstrUrl — строка, указывающая, куда следует перейти. Это может быть ссылка OneNote или любой другой URL-адрес (например, веб-ссылка или указание на сетевое хранилище). fNewWindow — (необязательно) true , чтобы открыть указанный URL-адрес в новом окне OneNote. Используется false, чтобы не открывать новое окно OneNote, если одно уже открыто. |
Метод GetHyperLinkToObject
Значение | Описание |
---|---|
Описание |
Получает гиперссылку OneNote на указанную записную книжку, группу разделов, раздел, страницу или объект страницы. |
Синтаксис |
HRESULT GetHyperlinkToObject( [in] BSTR bstrHierarchyID, [in] BSTR bstrPageContentObjectID, [out] BSTR * pbstrHyperlinkOut); |
Параметры |
bstrHierarchyID — идентификатор OneNote для записной книжки, группы разделов, раздела или страницы, для которых требуется гиперссылка. bstrPageContentObjectID — (необязательно) Идентификатор OneNote для объекта на странице, для которого требуется гиперссылка. Например, объект может быть структурой или элементом Outline. Если передать пустую строку (""), возвращаемая ссылка указывает на записную книжку, группу разделов, раздел или страницу, которые указаны в параметре bstrHierarchyID. Если передать непустую строку для параметра bstrPageContentObjectID , параметр _bstrHierarchyIDдолжен быть ссылкой на страницу, содержащую указанный объект. pbstrHyperlinkOut ( выходной параметр) — указатель на строку, в которую метод GetHyperlinkToObject записывает выходной текст гиперссылки. |
При попытке перейти по получившейся ссылке OneNote откроется и отобразит указанный объект в браузере.
Метод GetWebHyperlinktoObject
Значение | Описание |
---|---|
Описание |
Возвращает гиперссылку на объект, который открывается в веб-клиенте OneNote. |
Синтаксис |
HRESULT GetWebHyperlinkToObject ( [in] BSTR bstrHierarchyID, [in] BSTR bstrPageContentObjectID, [out] BSTR * pbstrHyperlinkOut); |
Параметры |
bstrHierarchyID — идентификатор OneNote для записной книжки, группы разделов, раздела или страницы, для которых требуется веб-гиперссылка. bstrPageContentObjectID — (необязательно) Идентификатор OneNote для объекта на странице, для которого требуется гиперссылка. Например, объект может быть структурой или элементом Outline. Если передать пустую строку (""), возвращаемая ссылка указывает на записную книжку, группу разделов, раздел или страницу, которые указаны в параметре bstrHierarchyID. Если передать непустую строку для параметра bstrPageContentObjectID , параметр _bstrHierarchyIDдолжен быть ссылкой на страницу, содержащую указанный объект. pbstrHyperlinkOut ( выходной параметр) — указатель на строку, в которую метод GetWebHyperlinkToObject записывает текст выходной гиперссылки. Если веб-гиперссылку невозможно создать для записной книжки, возвращается значение NULL. |
Метод FindPages
Значение | Описание |
---|---|
Описание | Возвращает список страниц, которые соответствуют указанному термину запроса. |
Синтаксис | HRESULT FindPages( [in]BSTR bstrStartNodeID, [in]BSTR bstrSearchBSTR, [out]BSTR * pbstrHierarchyXmlOut, [in,defaultvalue(#)]VARIANT_BOOL fIncludeUnindexedPages, [in,defaultvalue(0)]VARIANT_BOOL fDisplay, [in,defaultvalue(#)]XMLSchema xsSchema); |
Параметры |
bstrStartNodeID — узел (корневой каталог, записная книжка, группа разделов или раздел), под которым выполняется поиск содержимого. Этот параметр задает область для поиска. bstrSearchString — строка поиска. Передайте точно такую же строку, которую вы ввели бы в поле поиска пользовательского интерфейса OneNote. Можно использовать битовые операторы, такие как AND и OR, которые должны быть полностью прописными. pbstrHierarchyXmlOut — (выходной параметр) — указатель на строку, в которую OneNote записывает выходную XML-строку. Полученная строка XML содержит иерархию записной книжки от корневого каталога до страниц, которые соответствуют строке поиска, включая эти страницы. Например, метод FindPages не содержит списка разделов, в которых нет страниц, соответствующих иерархии. Кроме того, если только одна страница в одном разделе соответствует строке, возвращаемая иерархия включает в себя путь к этому разделу и странице, но не другие части иерархии записной книжки. fIncludeUnindexedPages — (необязательно) true для страниц поиска, которые не были проиндексированы Поиском Windows; в противном случае — значение false. fDisplay — значение true (необязательно) для запуска поиска в пользовательском интерфейсе пользователя, как если бы пользователь сам ввел его. Используется false, чтобы выполнить запрос без изменения пользовательского интерфейса (по умолчанию). xsSchema — (необязательно) — версия схемы OneNote строки pbstrHierarchyXmlOut. Это необязательное значение используется для указания версии схемы XML OneNote, в которой находится строка pbstrHierarchyXmlOut. Если это значение не указано, OneNote будет предполагать, что XML-файл находится в версии схемы xsCurrent. ПРИМЕЧАНИЕ. Мы рекомендуем указать версию OneNote (например , xs2013) вместо использования xsCurrent или оставить ее пустым, так как это позволит надстройке работать с будущими версиями OneNote. |
FindPages работает, только если на вашем компьютере установлен компонент "Поиск" 3.0 или 4.0 (Майкрософт). Windows Vista и Windows 7 включают этот компонент. Но если вы используете более раннюю версию Windows, вам необходимо установить Windows Search для работы FindPages.
Метод FindMeta
Значение | Описание |
---|---|
Описание | Возвращает список объектов OneNote, которые содержат метаданные, соответствующие указанному термину запроса. |
Синтаксис | HRESULT FindMeta ( [in]BSTR bstrStartNodeID, [in]BSTR bstrSearchBSTRName, [out]BSTR * pbstrHierarchyXmlOut, [in,defaultvalue(#)]VARIANT_BOOL fIncludeUnindexedPages, [in,defaultvalue(#)]XMLSchema xsSchema); |
Параметры |
bstrStartNodeID — узел (корневой каталог, записная книжка, группа разделов или раздел), под которым выполняется поиск содержимого. Этот параметр задает область для поиска. bstrSearchStringName — строка поиска. Передает любую часть имени метаданных. Если передана пустая строка или значение NULL, все объекты, которые содержат метаданные, будут соответствовать запросу. pbstrHierarchyXmlOut — (выходной параметр) — указатель на строку, в которую OneNote записывает выходную XML-строку. Полученная строка XML содержит иерархию записной книжки от корневого каталога до страниц, которые соответствуют строке поиска, включая эти страницы. Например, метод FindPages не содержит списка разделов, в которых нет страниц, соответствующих иерархии. Кроме того, если только одна страница в одном разделе соответствует строке, возвращаемая иерархия включает в себя путь к этому разделу и странице, но не другие части иерархии записной книжки. fIncludeUnindexedPages — (необязательно) true для страниц поиска, которые не были проиндексированы Поиском Windows; в противном случае — значение false. xsSchema — (необязательно) — версия схемы OneNote строки pbstrHierarchyXmlOut. Это необязательное значение используется для указания версии схемы XML OneNote, в которой находится строка pbstrHierarchyXmlOut. Если это значение не указано, OneNote будет предполагать, что XML-файл находится в версии схемы xsCurrent. ПРИМЕЧАНИЕ. Мы рекомендуем указать версию OneNote (например , xs2013) вместо использования xsCurrent или оставить ее пустым, так как это позволит надстройке работать с будущими версиями OneNote. |
FindMeta работает только в том случае, если на вашем компьютере установлена служба Microsoft Windows Search 3.0 или 4.0. Windows Vista и Windows 7 включают этот компонент. Но если вы используете более раннюю версию Windows, вам необходимо установить Windows Search для работы FindMeta.
Функциональные методы
Методы, описанные в этом разделе, позволяют выполнять определенные действия или задавать параметры в приложении OneNote.
Метод MergeFiles
Значение | Описание |
---|---|
Описание |
Позволяет пользователям объединять изменения для одного и того же файла в одно. Чтобы файлы считались одним и тем же файлом, они должны иметь одинаковый идентификатор OneNote. |
Синтаксис |
HRESULT MergeFiles ( [in]BSTR bstrBaseFile, [in]BSTR bstrClientFile, [in]BSTR bstrServerFile, [in]BSTR bstrTargetFile); |
Параметры |
bstrBaseFile — строка пути к расположению файла .one начального состояния файла. bstrClientFile — строка пути к расположению .one файла второго набора изменений, которые будут объединены с базовым файлом после объединения изменений файла сервера с базовым. bstrServerFile — строка пути к расположению файла .one для первого набора изменений, которые будут объединены с базовым файлом. bstrTargetFile — строка пути к расположению файла .one с объединенными изменениями. |
Метод MergeFiles предназначен для мобильных сценариев, в которых может существовать несколько версий файла OneNote.
Метод MergeSections
Значение | Описание |
---|---|
Описание |
Объединяет содержимое одного раздела в другой раздел OneNote. |
Синтаксис |
HRESULT MergeSections ( [in]BSTR bstrSectionSourceId, [in]BSTR bstrSectionDestinationId); |
Параметры |
bstrSectionSourceId — идентификатор OneNote раздела, который требуется объединить. bstrSectionDestinationId — идентификатор OneNote раздела для объединения. Раздел источника будет объединен в этом разделе назначения. |
Этот метод выполняет ту же операцию, которую выполняет функция Объединить в другом разделе, которая отображается при выборе раздела правой кнопкой мыши.
Метод QuickFiling
Значение | Описание |
---|---|
Описание |
Возвращает экземпляр диалогового окна IQuickFilingDialog, которое может использоваться для выбора расположения в дереве иерархии OneNote. |
Синтаксис |
HRESULT QuickFiling ( ); |
Метод SyncHierarchy
Значение | Описание |
---|---|
Описание |
OneNote выполняет принудительную синхронизацию указанного объекта с исходным файлом на диске. |
Синтаксис |
HRESULT SyncHierarchy ( [in]BSTR bstrHierarchyID); |
Параметры |
bstrHierarchyID — идентификатор OneNote объекта для синхронизации. |
Метод SetFilingLocation
Значение | Описание |
---|---|
Описание |
Позволяет пользователям указать, где и как следует хранить определенные типы содержимого в OneNote. |
Синтаксис |
HRESULT SetFilingLocation ( [in]FilingLocation flToSet, [in]FilingLocationType fltToSet, [in]BSTR bstrFilingSectionID); |
Параметры |
flToSet — тип объекта заданного расположения подачи. fltToSet — расположение для отправки типа. bstrFilingSectionID — идентификатор OneNote раздела или страницы, в котором нужно задать расположение. Если неприменимо, пользователь может передать значение NULL или пустую строку. |
Типы содержимого, которое можно хранить, включают элементы Outlook и веб-заметки в Internet Explorer, которые будут импортированы в OneNote с помощью команды Отправить в OneNote в каждом приложении. С помощью этого метода можно задать также расположение для хранения элементов, которые должны печататься в OneNote.
Свойства
В этом разделе описаны свойства интерфейса приложения.
Свойство | Описание |
---|---|
Windows |
Предоставляет пользователям доступ к открытым окнам OneNote. Это свойство позволяет пользователям выполнять перечисление через набор окон OneNote и изменять некоторые свойства окон. Дополнительные сведения см. в статье Интерфейсы Windows. |
COMAddIns |
Возвращает коллекцию COMAddIns для OneNote. Эта коллекция содержит все надстройки COM, доступные в OneNote. Свойство Count коллекции COMAddins возвращает количество доступных надстроек COM. Дополнительные сведения см. в статье об объекте COMAddIns. |
LanguageSettings |
Позволяет получить доступ к некоторым интерфейсам API, чтобы изменить общие языковые параметры OneNote. |
События
В этом разделе описаны события интерфейса приложения.
Предостережение
В настоящее время события невозможно добавить в управляемый код.
Событие OnNavigate
Значение | Описание |
---|---|
Описание |
Позволяет пользователю назначить функцию, которая будет вызываться при перемещении пользовательского интерфейса OneNote от текущего расположения OneNote. |
Синтаксис |
Event OnNavigate ( ); |
Метод OnHierarchyChange
Значение | Описание |
---|---|
Описание |
Позволяет пользователю назначить функцию, которая будет вызываться при каждом изменении иерархии OneNote (например, при добавлении или удалении страниц и перемещении разделов). Изменения иерархии пакетные. Если происходит несколько изменений одновременно или почти одновременно, событие в OneNote возникает один раз. |
Синтаксис |
Event OnHierarchyChange ( BSTR bstrActivePageID); |
Параметры |
bstrActivePageID — передает идентификатор OneNote активной страницы. |