Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La interfaz de la aplicación incluye métodos que ayudan a recuperar, manipular y actualizar información y contenido de OneNote. Los métodos se encuentran en cuatro categorías generales:
Estructura del cuaderno : métodos para trabajar con la estructura del cuaderno, incluidos los para detectar, abrir, modificar, cerrar y eliminar cuadernos, grupos de secciones y secciones.
Contenido de página: métodos para trabajar con páginas y contenido de página, incluidos los para detectar, modificar, guardar y eliminar contenido de página. El contenido de la página incluye objetos binarios, como imágenes y escritura en lápiz y objetos de texto, como esquemas.
Navegación : métodos para buscar, vincular y navegar a páginas y objetos.
Funcional : todos los demás métodos que realizan ciertas acciones o establecen parámetros en OneNote.
Además, la interfaz de la Aplicación incluye una serie de propiedades y eventos.
Métodos de estructura del Bloc de notas
Los métodos descritos en esta sección te permiten descubrir, abrir, modificar, cerrar y eliminar blocs de notas, secciones y grupos de secciones de OneNote.
Método GetHierarchy
| Valor | Descripción |
|---|---|
|
Descripción |
Obtiene la estructura de jerarquía del nodo del bloc de notas, empezando desde el nodo que especificas (todos los blocs de notas o un único bloc de notas, grupo de secciones o sección) y siguiendo hacia abajo a todos los descendientes en el nivel que especifiques. |
|
Sintaxis |
HRESULT GetHierarchy([in]BSTR bstrStartNodeID,[in]HierarchyScope hsScope,[out]BSTR * pbstrHierarchyXmlOut,[in,defaultvalue(xs2013)]XMLSchema xsSchema); |
|
Parámetros |
bstrStartNodeID : nodo (cuaderno, grupo de secciones o sección) cuyos descendientes desea. Si pasas una cadena nula (""), el método obtiene todos los nodos debajo del nodo raíz (es decir, todos los blocs de notas, grupos de secciones y secciones). Si especificas un bloc de notas, grupo de sección o nodo de sección, el método obtiene solo descendientes de ese nodo. hsScope : el nivel de nodo descendiente más bajo que desea. Por ejemplo, si especificas páginas, el método obtiene todos los nodos hasta el nivel de la página. Si especificas secciones, el método obtiene solo los nodos de sección debajo del bloc de notas. Para obtener más información, consulta la enumeración HierarchyScope en el tema Enumeraciones. pbstrHierarchyXmlOut : (parámetro Output) Puntero a la cadena en la que desea que OneNote escriba la salida XML. xsSchema : (opcional) Versión del esquema XML de OneNote, de tipo XMLSchema, que desea que se genere. Puedes especificar si deseas el esquema XML versión 2013, 2010, 2007 o la versión actual. NOTA: Se recomienda especificar una versión de OneNote (como xs2013) en lugar de usar xsCurrent o dejarla en blanco, ya que esto permitirá que el complemento funcione con versiones futuras de OneNote. |
El método GetHierarchy devuelve una cadena en formato XML de OneNote 2013 de forma predeterminada o puede establecer la versión de esquema XML preferida mediante el parámetro xsSchema opcional.
Dependiendo de los parámetros que pases, el método GetHierarchy puede devolver varias listas (por ejemplo, todos los blocs de notas, todas las secciones en todos los blocs de notas, todas las páginas de una sección determinada o todas las páginas dentro de un bloc de notas determinado). Para cada nodo, la cadena XML devuelta proporciona propiedades (por ejemplo, el título de sección o página, la identificación y la última modificación).
No todas las combinaciones de nodo inicial y ámbito son válidas. Por ejemplo, si especificas un nodo inicial de sección y un ámbito de bloc de notas, GetHierarchy devuelve un resultado nulo porque un bloc de notas es superior en la jerarquía de nodos a una sección.
El siguiente ejemplo C# muestra cómo usar el método GetHierarchy para obtener toda la jerarquía de OneNote, incluidos todos los blocs de notas, hasta el nivel de la página. Copia la cadena de salida en el Portapapeles, desde donde puedes pegar la cadena en un editor de texto para revisarla.
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");
}
Método UpdateHierarchy
| Valor | Descripción |
|---|---|
| Descripción | Modifica o actualiza la jerarquía de los blocs de notas. Por ejemplo, puedes agregar secciones o grupos de secciones en un bloc de notas, agregar un bloc de notas nuevo, mover secciones dentro de un bloc de notas, cambiar el nombre de una sección, agregar páginas a una sección o cambiar el orden de las páginas dentro de las secciones. |
| Sintaxis | HRESULT UpdateHierarchy([in]BSTR bstrChangesXmlIn,[in,defaultvalue(xsCurrent)] XMLSchema xsSchema); |
| Parámetros |
bstrChangesXmlIn : cadena que contiene código XML de OneNote que especifica los cambios de jerarquía que se deben realizar. Por ejemplo, si deseas insertar una nueva sección, puedes agregar un elemento Sección en la cadena XML para indicar dónde quieres que se agregue la nueva sección. Como alternativa, si deseas cambiar el nombre de una sección existente, puedes mantener el mismo identificador de sección y cambiar su atributo nombre en el código XML. xsSchema : (opcional) Versión del esquema de OneNote de la cadena bstrChangesXmln. Este valor opcional se usa para especificar la versión del esquema XML de OneNote en la que se encuentra la cadena bstrChangesXmlIn . Si no se especifica este valor, OneNote asumirá que el XML está en la versión de esquema xsCurrent. NOTA: Se recomienda especificar una versión de OneNote (como xs2013) en lugar de usar xsCurrent o dejarla en blanco, ya que esto permitirá que el complemento funcione con versiones futuras de OneNote. |
Si solo pasa una cadena XML de OneNote parcial para el parámetro bstrChangesXmlIn , OneNote intenta deducir los cambios que desee. Por ejemplo, si incluyes un elemento Bloc de notas que contiene solo una sección, OneNote agrega la sección después de las secciones existentes. Sin embargo, si la operación que especificas es ambigua, puede ser difícil determinar el resultado. Por ejemplo, si un bloc de notas existente contiene cuatro secciones, y la cadena XML que pasas incluye el bloc de notas y solo las secciones cuarta y primera (en ese orden), OneNote puede colocar la segunda y tercera sección antes de la cuarta sección o después de la primera.
No puedes usar el método UpdateHierarchy para eliminar parte de un bloc de notas. Es decir, pasar una cadena XML que incluya solo una parte de una jerarquía existente no elimina secciones que no se incluyen en la cadena. Para eliminar parte de una jerarquía, usa el método DeleteHierarchy.
El siguiente código C# muestra una forma de usar el método UpdateHierarchy para cambiar la jerarquía de OneNote, mediante la modificación del nombre de una sección existente. Lee el código XML desde un archivo de ejemplo denominado ChangeSectionName.xml en la raíz de la unidad C, lo carga en un documento XML y luego pasa la estructura XML de ese documento al método.
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);
}
El siguiente código XML es un fragmento del archivo ChangeSectionName.xml que el anterior código C# pasa al método. Cuando el archivo XML se pasa al método UpdateHierarchy, cambia el nombre de una de las secciones en la jerarquía existente (al cambiar el valor del atributo nombre a "Mi sección con nombre nuevo"). A continuación, quita todas las secciones excepto aquella cuyo nombre cambió. Además, el código quita atributos innecesarios del elemento de destino Sección, incluidos los atributos lastModifiedTime, isCurrentlyViewedy color, dejando solo los atributos nombre, ID y ruta intactos.
<?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>
Se obtuvo el código XML anterior mediante el código que se muestra en el ejemplo del método GetHierarchy, que se modifica, como se indica a continuación, para limitar el ámbito de las secciones.
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");
}
En el siguiente ejemplo de C# se muestra una aplicación de consola completa que busca una sección denominada "Sample_Section", solicita al usuario que escriba un nuevo nombre para la sección y, a continuación, usa el método UpdateHierarchy para cambiar el nombre de la sección por el nombre que escribió el usuario. Antes de ejecutar el código, cambie "Sample_Section" por el nombre de una sección que existe en la jerarquía de 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");
}
Método OpenHierarchy
| Valor | Descripción |
|---|---|
|
Descripción |
Abre un grupo de sección o sección que especificas. |
|
Sintaxis |
HRESULT OpenHierarchy([in]BSTR bstrPath,[in]BSTR bstrRelativeToObjectID,[out]BSTR * pbstrObjectID,[in,defaultvalue(cftNone)]CreateFileType cftIfNotExist); |
|
Parámetros |
bstrPath : ruta de acceso que desea abrir. Para un bloc de notas o para un grupo de secciones de un bloc de notas, bstrPath puede ser una ruta de acceso de carpeta o la ruta de acceso a un archivo de sección .one. Si especificas la ruta a un archivo de sección .one, debes incluir la extensión .one en la cadena de ruta del archivo. bstrRelativeToObjectID : el identificador de OneNote del objeto primario (cuaderno o grupo de secciones) en el que desea que se abra el nuevo objeto. Si el parámetrobstrPath es una ruta de acceso absoluta, puede pasar una cadena vacía ("") para bstrRelativeToObjectID. Como alternativa, puedes pasar la id. del objeto del grupo de bloc de notas o sección que debe contener el objeto (sección o grupo de secciones) que deseas crear y, a continuación, especificar el nombre de archivo (por ejemplo, section1.one) del objeto que deseas crear bajo ese objeto primario. pbstrObjectID : (parámetro Output) El identificador de objeto que OneNote devuelve para el cuaderno, el grupo de secciones o la sección que abre el método OpenHierarchy . Este parámetro es un puntero de la cadena en la que deseas que el método escriba la id. cftlfNotExist : (opcional) Valor enumerado de la enumeración CreateFileType . Si pasa un valor para cftIfNotExist, el método OpenHierarchy crea el archivo de sección o grupo de secciones en la ruta de acceso especificada solo si el archivo aún no existe. |
Si especificas un grupo de secciones que no está en un bloc de notas abierto, el método OpenHierarchy abre el grupo de secciones como un bloc de notas. Si especificas un grupo de secciones que no está en un bloc de notas abierto, el método OpenHierarchy abre la sección en el grupo de sección Secciones Abiertas Recientemente. Si especificas un grupo de secciones o sección que ya está en un bloc de notas abierto, no sucede nada porque la sección o grupo de secciones ya están abiertos también. En cualquier caso, OpenHierarchy devuelve la id. de objeto del grupo de sección, bloc de notas o sección que especifiques, para que puedes usarlos en otras operaciones.
También puedes usar el método OpenHierarchy para crear secciones nuevas, en lugar de hacerlo mediante la importación de XML.
El código siguiente muestra cómo usar el método OpenHierarchy para abrir la sección de Reuniones en el bloc de notas de trabajo y obtener la id. de la sección. Si todavía no existe la sección, OneNote la crea en la ubicación que especifiques.
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);
}
Método DeleteHierarchy
| Valor | Descripción |
|---|---|
|
Descripción |
Elimina cualquier objeto de jerarquía (un grupo de secciones, sección o página) de la jerarquía del bloc de notas de OneNote. |
|
Sintaxis |
HRESULT DeleteHierarchy([in]BSTR bstrObjectID,[in,defaultvalue(0)]DATE dateExpectedLastModified,[in,defaultvalue(false)]VARIANT_BOOL deletePermanently); |
|
Parámetros |
bstrObjectID : el identificador de OneNote del objeto que desea eliminar. El objeto puede ser un grupo de secciones, sección o página. dateExpectedLastModified : (Opcional) Fecha y hora en que cree que se modificó por última vez el objeto que desea eliminar. Si pasas un valor distinto de cero para este parámetro, OneNote lleva a cabo la actualización solo si el valor que se pasa coincide con la fecha y hora reales en que se modificó por última vez el objeto. Pasar un valor para este parámetro impide sobrescribir accidentalmente ediciones realizadas por los usuarios desde la última vez que se modificó el objeto. deletePermanently : (opcional) true para eliminar permanentemente el contenido; false para mover el contenido a la papelera de reciclaje de OneNote para el cuaderno correspondiente (valor predeterminado). Si el bloc de notas está en formato de OneNote 2007, no existe una papelera de reciclaje, por lo que el contenido se elimina de forma permanente. |
Método CreateNewPage
| Valor | Descripción |
|---|---|
|
Descripción |
Agrega una nueva página a la sección que especifiques. La página nueva se agregará como la última página de la sección |
|
Sintaxis |
HRESULT CreateNewPage([in]BSTR bstrSectionID,[out]BSTR * pbstrPageID);[in,defaultvalue(npsDefault)]NewPageStyle npsNewPageStyle); |
|
Parámetros |
bstrSectionID : cadena que contiene el identificador de OneNote de la sección en la que desea crear la nueva página. pbstrPageID : (parámetro Output) Puntero a la cadena en la que el método escribe el identificador de OneNote para la página recién creada. npsNewPageStyle : valor de la enumeración NewPageStyle que especifica el estilo de la página que se va a crear. |
La API de OneNote incluye el método CreateNewPage como comodidad. Puedes lograr el mismo resultado, con mayor control sobre el lugar que ocupa la página nueva en la jerarquía, mediante una llamada al método UpdateHierarchy. El método UpdateHierarchy también te permite crear subpáginas al mismo tiempo que creas una nueva página.
Método CloseNotebook
| Valor | Descripción |
|---|---|
|
Descripción |
Cierra el bloc de notas especificado. |
|
Sintaxis |
HRESULT CloseNotebook([in]BSTR bstrNotebookID,[in,defaultvalue(false)]VARIANT_BOOL force); |
|
Parámetros |
bstrNotebookID : el identificador de OneNote del cuaderno que desea cerrar. force : (Opcional) true para cerrar el cuaderno, incluso si hay cambios en el cuaderno que OneNote no puede sincronizar antes del cierre; De lo contrario, false (valor predeterminado). |
Puedes usar el método CloseNotebook para cerrar el bloc de notas que especifiques. Cuando llamas a este método, OneNote sincroniza los archivos sin conexión con el contenido del bloc de notas actual, si es necesario y, a continuación, cierra el bloc de notas especificado. Cuando regresa el método, el bloc de notas ya no aparece en la lista de blocs de notas abiertos en la interfaz de usuario (IU) de OneNote.
Método GetHierarchyParent
| Valor | Descripción |
|---|---|
|
Descripción |
Obtiene la id. de OneNote para el objeto primario de un objeto de OneNote. |
|
Sintaxis |
HRESULT GetHierarchyParent ([in]BSTR bstrObjectID,[out]BSTR * pbstrParentID); |
|
Parámetros |
bstrObjectID : cadena que contiene el identificador de OneNote del objeto del que desea encontrar el objeto primario. pbstrParentID : (parámetro Output) Puntero a la cadena en la que el método escribe el identificador de OneNote del objeto primario. |
Si el objeto de OneNote no tiene ningún objeto primario (por ejemplo, cuando un usuario desea obtener el elemento primario de un bloc de notas), se produce una excepción.
Método GetSpecialLocation
| Valor | Descripción |
|---|---|
|
Descripción |
Busca la ruta a la ubicación donde OneNote almacena determinados elementos especiales, como copias de seguridad, notas sin archivar y el bloc de notas predeterminado. |
|
Sintaxis |
HRESULT GetSpecialLocation([in]SpecialLocation slToGet,[out]BSTR * pbstrSpecialLocationPath); |
|
Parámetros |
slToGet : uno de los valores de enumeración SpecialLocation que especifica la ubicación de carpeta especial que se va a obtener. pbstrSpecialLocationPath : (parámetro Output) Puntero a la cadena en la que desea que OneNote escriba la ruta de acceso de la carpeta especial. |
Puedes usar este método para determinar la ubicación en disco de la carpeta Notas sin archivar. Es la carpeta en la que OneNote almacena las notas que se crean al arrastrar un elemento en OneNote, así como las notas que se incluyen directamente desde otras aplicaciones (como las que se generan al hacer clic en Enviar a OneNote en Microsoft Outlook o Microsoft Internet Explorer).
Métodos de contenido de página
Los métodos descritos en esta sección te permiten descubrir, actualizar y eliminar el contenido en las páginas de los blocs de notas de OneNote, así como publicar contenido en OneNote.
Método GetPageContent
| Valor | Descripción |
|---|---|
| Descripción | Obtiene todo el contenido (en formato XML de OneNote) de la página especificada. |
| Sintaxis | HRESULT GetPageContent([in]BSTR bstrPageID,[out]BSTR * pbstrPageXmlOut,[in,defaultvalue(piBasic)]PageInfo pageInfoToExport,[in,defaultvalue(xsCurrent)]XMLSchema xsSchema); |
| Parámetros |
bstrPageId : el identificador de OneNote de la página cuyo contenido desea obtener. pbstrPageXmlOut : (parámetro Output) Puntero a la cadena en la que desea que OneNote escriba la salida XML. pageInfoToExport : (opcional) Especifica si el método GetPageContent devuelve contenido binario, incrustado en el código XML y codificado en base 64. El contenido binario puede incluir, por ejemplo, imágenes y datos de entrada de lápiz. El parámetro pageInfoToExport también especifica si se debe marcar la selección en el código XML que devuelve el métodoGetPageContent. Toma un valor enumerado de la enumeración PageInfo. xsSchema : (opcional) Versión del esquema XML de OneNote, de tipo XMLSchema, que desea que se genere. Puedes especificar si deseas el esquema XML versión 2013, 2010, 2007 o la versión actual. NOTA: Se recomienda especificar una versión de OneNote (como xs2013) en lugar de usar xsCurrent o dejarla en blanco, ya que esto permitirá que el complemento funcione con versiones futuras de OneNote. |
De forma predeterminada, para evitar el exceso de longitud de la cadena XML que devuelve, OneNote no inserta contenido binario en el código XML. Por el mismo motivo, no marca la selección actual con los atributos de la selección. Los objetos binarios incluyen una id. de OneNote en sus etiquetas. Para obtener un objeto binario, llamas al método GetBinaryPageContent y pasas la id. de OneNote que obtienes del método GetPageContent. Usas el método GetPageContent cuando no necesitas los datos binarios inmediatamente.
Método UpdatePageContent
| Valor | Descripción |
|---|---|
| Descripción | Actualiza o modifica el contenido en la página. |
| Sintaxis | HRESULT UpdatePageContent([in]BSTR bstrPageChangesXmlIn,[in,defaultvalue(0)]DATE dateExpectedLastModified,[in,defaultvalue(xsCurrent)]XMLSchema xsSchema,[in,defaultvalue(false)]VARIANT_BOOL force); |
| Parámetros |
bstrPageChangesXmlIn : cadena que contiene código XML de OneNote que incluye los cambios que desea realizar en la página. dateExpectedLastModified : (Opcional) Fecha y hora en que cree que la página que desea actualizar se modificó por última vez. Si pasas un valor distinto de cero para este parámetro, OneNote lleva a cabo la actualización solo si el valor que se pasa coincide con la fecha y hora reales en que se modificó por última vez la página. Pasar un valor para este parámetro impide sobrescribir accidentalmente ediciones realizadas por los usuarios desde la última vez que se modificó la página. xsSchema : (opcional) Versión del esquema XML de OneNote, de tipo XMLSchema, que desea que se genere. Puedes especificar si deseas el esquema XML versión 2013, 2010, 2007, o la versión actual. NOTA: Se recomienda especificar una versión de OneNote (como xs2013) en lugar de usar xsCurrent o dejarla en blanco, ya que esto permitirá que el complemento funcione con versiones futuras de OneNote. forzar(opcional) verdadero para actualizar el contenido de la página, incluso si hay datos desconocidos en la página de una versión futura de OneNote; en caso contrario, falso (predeterminado). |
Puedes usar este método para modificar la página de varias formas. Por ejemplo, puedes usar el método UpdatePageContent para agregar un esquema a una página, cambiar el contenido de un esquema, agregar imágenes, agregar entradas de lápiz, mover contenido o modificar texto en contornos.
Como un ejemplo más específico, puedes usar el método GetPageContent para exportar una página existente, realizar algunos cambios en el código XML de la página y, después, usar el método UpdatePageContent para importar toda la página nuevamente. O bien, puedes usar este método para agregar nuevos objetos de página, como imágenes, en la parte inferior de una página existente.
Los únicos objetos que debes incluir en el código XML que pasas al método UpdatePageContent son objetos de nivel de página (por ejemplo, esquemas, imágenes en la página o entrada de lápiz en la página) que cambiaron. Este método no modifica ni quita los objetos de nivel de página que no se especifican en el parámetro bstrPageChangesXmlIn. El método reemplaza por completo los objetos de nivel de página, como esquemas cuyas id. coinciden con las de los objetos que pasas. Por lo tanto, debes especificar completamente todos los objetos de nivel de página en tu código, incluidos los contenidos existentes y los cambios que deseas hacerles.
Por ejemplo, si tu página contiene un esquema y una imagen de fondo de página, puedes reemplazar el esquema y dejar la imagen sin modificar al especificar el esquema en el código XML, usando la id. del esquema existente y no incluyendo la imagen en el código. Como el esquema revisado que incluyes en el código reemplaza completamente el esquema existente, debes incluir todo el contenido del esquema.
Además, el métodoUpdatePageContent modifica solo propiedades de elemento especificados en el parámetro bstrPageChangesXmlIn. Por ejemplo, si especificas algunas (pero no todas) las propiedades del elemento PageSettings, las propiedades que no se especifican permanecen sin cambios.
El ejemplo siguiente muestra cómo usar el método UpdatePageContent para cambiar el título de una página y agregar texto de ejemplo a la página. Antes de ejecutar el código, sustituye una id. de página válida para la id. de la página que se muestra en el código, para que el código funcione en tu equipo. Para obtener la id. de la página, usa el método GetHierarchy y examina los resultados.
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);
}
Método GetBinaryPageContent
| Valor | Descripción |
|---|---|
|
Descripción |
Devuelve un objeto binario, como entradas en lápiz o imágenes, en una página de OneNote como una cadena codificada con base 64. |
|
Sintaxis |
HRESULT GetBinaryPageContent([in]BSTR bstrPageID,[in]BSTR bstrCallbackID,[out]BSTR * pbstrBinaryObjectB64Out); |
|
Parámetros |
bstrPageID : el identificador de OneNote de la página que contiene el objeto binario que se va a obtener. bstrCallBackID : el identificador de OneNote del objeto binario que desea obtener. Esta id., conocida como callbackID, está en el código XML de OneNote de una página devuelta por el método GetPageContent. pbstrBinaryObectB64Out : (parámetro Output) Puntero a una cadena en la que OneNote escribe el objeto binario como una cadena codificada en base 64. |
Método DeletePageContent
| Valor | Descripción |
|---|---|
|
Descripción |
Elimina un objeto , como un objeto Outline, Ink o Image de una página. |
|
Sintaxis |
HRESULT DeletePageContent([in]BSTR bstrPageID,[in]BSTR bstrObjectID,[in,defaultvalue(0)]DATE dateExpectedLastModified,[in,defaultvalue(#)]VARIANT_BOOL force); |
|
Parámetros |
bstrPageID : el identificador de OneNote de la página que contiene el objeto que se va a eliminar. bstrObjectID : el identificador de OneNote del objeto que desea eliminar. dateExpectedLastModified : (opcional) La fecha y hora en que cree que la página que contiene el contenido que desea eliminar se modificó por última vez. Si pasas un valor distinto de cero para este parámetro, OneNote lleva a cabo la eliminación solo si el valor que se pasa coincide con la fecha y hora reales en que se modificó por última vez la página. Pasar el valor por este parámetro impide sobrescribir accidentalmente ediciones realizadas por los usuarios desde la última vez que se modificó la página. force : (Opcional) true para actualizar el contenido de la página, incluso si hay datos desconocidos en la página de una versión futura de OneNote; De lo contrario, false (valor predeterminado). |
Método Publish
| Valor | Descripción |
|---|---|
|
Descripción |
Exporta la página que especificas a un archivo en cualquier formato compatible con OneNote. |
|
Sintaxis |
HRESULT Publish([in]BSTR bstrHierarchyID,[in]BSTR bstrTargetFilePath,[in,defaultvalue(pfOneNote)]PublishFormat pfPublishFormat,[in,defaultvalue(0)]BSTR bstrCLSIDofExporter); |
|
Parámetros |
bstrHierarchyID : el identificador de OneNote de la jerarquía que desea exportar. bstrTargetFilePath : la ruta de acceso absoluta a la ubicación donde desea guardar el archivo de salida resultante. El archivo que especifiques no debe ser uno que ya exista en esa ubicación. pfPublishFormat : uno de los valores de enumeración PublishFormat que especifica el formato en el que desea que la página publicada sea (por ejemplo, MTHML, PDF, etc.). bstrCLSIDofExporter : el identificador de clase (CLSID) de una aplicación COM registrada que puede exportar metarchivos mejorados de Microsoft Windows (.emf). La aplicación COM debe implementar la interfaz IMsoDocExporter. Este parámetro se incluye para permitir que los desarrolladores de terceros escriban su propio código para publicar contenido de OneNote en un formato personalizado. Para más información sobre la interfaz IMsoDocExporter, consulta Ampliar la característica de exportación de formato fijo de Office 2007. |
Actualmente, OneNote admite los siguientes formatos de archivo:
- Archivos MHTML (.mht)
- Archivos PDF de Adobe Acrobat (.pdf)
- Archivos XML Paper Specification (XPS) (.xps)
- Archivos OneNote 2013, 2010 o 2007 (.one)
- Archivos OneNote Package (onepkg)
- Documentos de Microsoft Word (.doc o .docx)
- Metarchivos Microsoft Windows mejorados (.emf)
- Archivos HTML (.html)
Este método produce los mismos resultados que obtendrías al hacer clic en Publicar en la IU y especificar el formato.
Métodos de navegación
Los métodos descritos en esta sección te permiten buscar, desplazarte y vincularte a los blocs de notas, grupos de secciones, secciones, páginas y objetos de la página de OneNote.
Método NavigateTo
| Valor | Descripción |
|---|---|
|
Descripción |
Se dirige a un objeto (por ejemplo, secciones, páginas y elementos de Esquema dentro de las páginas). |
|
Sintaxis |
HRESULT NavigateTo([in]BSTR bstrHierarchyObjectID,[in,defaultvalue(#)]BSTR bstrObjectID,[in,defaultvalue(0)]VARIANT_BOOL fNewWindow); |
|
Parámetros |
bstrHierarchyObjectID : el identificador de OneNote del objeto al que desea navegar en la jerarquía de OneNote. bstrObjectID : el identificador de OneNote del objeto al que desea navegar en la página de OneNote. fNewWindow : (opcional) true para abrir el objeto especificado en una nueva ventana de OneNote. falso No se abre una nueva ventana de OneNote si ya hay una abierta. |
Método NavigateToUrl
| Valor | Descripción |
|---|---|
|
Descripción |
Si se pasó un vínculo de OneNote (onenote://), se abrirá la ventana de OneNote en la ubicación correspondiente en OneNote. Si el vínculo es externo a OneNote (como https:// o file://), aparecerá un cuadro de diálogo de seguridad. Tras el descarte, OneNote intenta abrir el vínculo y se devuelve un error HResult.hrObjectDoesNotExist. |
|
Sintaxis |
HRESULT NavigateTo([in]BSTR bstrUrl,[in,defaultvalue(0)]VARIANT_BOOL fNewWindow); |
|
Parámetros |
bstrUrl : cadena que indica a dónde ir. Esta podría ser un vínculo de OneNote o cualquier otra dirección URL, como una ubicación de red o vínculo web. fNewWindow : (opcional) true para abrir la dirección URL especificada en una nueva ventana de OneNote. falso No se abre una nueva ventana de OneNote si ya hay una abierta. |
Método GetHyperLinkToObject
| Valor | Descripción |
|---|---|
|
Descripción |
Obtiene un hipervínculo de OneNote para el bloc de notas especificado, grupo de secciones, sección, página u objeto de página. |
|
Sintaxis |
HRESULT GetHyperlinkToObject([in] BSTR bstrHierarchyID,[in] BSTR bstrPageContentObjectID,[out] BSTR * pbstrHyperlinkOut); |
|
Parámetros |
bstrHierarchyID : el identificador de OneNote para el cuaderno, el grupo de secciones, la sección o la página para la que desea un hipervínculo. bstrPageContentObjectID : (opcional) El identificador de OneNote para el objeto dentro de la página para la que desea un hipervínculo. Por ejemplo, el objeto puede ser un esquema o elemento de Esquema. Si pasas una cadena vacía (""), el vínculo devuelto apunta al bloc de notas, grupo de secciones, sección o página que especificaste en el parámetrobstrHierarchyID. Si pasa una cadena no vacía para el parámetro bstrPageContentObjectID , el parámetro _bstrHierarchyIDdebe ser una referencia a la página que contiene el objeto especificado. pbstrHyperlinkOut : (parámetro Output) Puntero a una cadena en la que el método GetHyperlinkToObject escribe el texto del hipervínculo de salida. |
Cuando intentas ir al vínculo resultante, OneNote se abre y muestra el objeto especificado en el navegador.
Método GetWebHyperlinktoObject
| Valor | Descripción |
|---|---|
|
Descripción |
Devuelve un hipervínculo a un objeto que se abre en el cliente web de OneNote. |
|
Sintaxis |
HRESULT GetWebHyperlinkToObject ([in] BSTR bstrHierarchyID,[in] BSTR bstrPageContentObjectID,[out] BSTR * pbstrHyperlinkOut); |
|
Parámetros |
bstrHierarchyID : el identificador de OneNote para el cuaderno, grupo de secciones, sección o página para el que desea un hipervínculo web. bstrPageContentObjectID : (opcional) El identificador de OneNote para el objeto dentro de la página para la que desea un hipervínculo. Por ejemplo, el objeto puede ser un esquema o elemento de Esquema. Si pasas una cadena vacía (""), el vínculo devuelto apunta al bloc de notas, grupo de secciones, sección o página que especificaste en el parámetrobstrHierarchyID. Si pasa una cadena no vacía para el parámetro bstrPageContentObjectID , el parámetro _bstrHierarchyIDdebe ser una referencia a la página que contiene el objeto especificado. pbstrHyperlinkOut : (parámetro Output) Puntero a una cadena en la que el método GetWebHyperlinkToObject escribe el texto del hipervínculo de salida. Si no se puede crear un hipervínculo web para el bloc de notas, se devuelve un valor nulo. |
Método FindPages
| Valor | Descripción |
|---|---|
| Descripción | Devuelve una lista de páginas que coinciden con el término de consulta especificado. |
| Sintaxis | 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); |
| Parámetros |
bstrStartNodeID : nodo (raíz, cuaderno, grupo de secciones o sección) debajo del cual se va a buscar contenido. Este parámetro establece el alcance de la búsqueda. bstrSearchString : cadena de búsqueda. Pasa exactamente la misma cadena que escribirías en el cuadro de búsqueda de la IU de OneNote. Puedes usar operadores bit a bit, como Y y O, que deben estar en mayúsculas. pbstrHierarchyXmlOut : (parámetro Output) Puntero a una cadena en la que desea que OneNote escriba la cadena XML de salida. La cadena XML resultante contiene la jerarquía del bloc de notas desde la raíz hacia abajo, e incluso las páginas que coinciden con la cadena de búsqueda. Por ejemplo, el método FindPages no enumera las secciones que no tengan página coincidentes en la jerarquía. Además, si solo hay una página en una única sección que coincide con la cadena, la jerarquía devuelta incluye la ruta a esa página y sección, pero a ninguna otra parte de la jerarquía del bloc de notas. fIncludeUnindexedPages : (opcional) true para buscar páginas que no han sido indexadas por Windows Search; De lo contrario, false. fDisplay : (opcional) true para ejecutar también la búsqueda en la interfaz de usuario del usuario, como si el usuario la hubiera escrito por sí mismo. falso para realizar la consulta sin cambios en la IU (predeterminado). xsSchema : (opcional) Versión del esquema de OneNote de la cadena pbstrHierarchyXmlOut. Este valor opcional se usa para especificar la versión del esquema XML de OneNote que contiene la cadena pbstrHierarchyXmlOut. Si no se especifica este valor, OneNote asumirá que el XML está en la versión de esquema xsCurrent. NOTA: Se recomienda especificar una versión de OneNote (como xs2013) en lugar de usar xsCurrent o dejarla en blanco, ya que esto permitirá que el complemento funcione con versiones futuras de OneNote. |
FindPages funciona únicamente si tienes Búsqueda de Microsoft 3.0 o 4.0 instalado en tu equipo. Windows Vista y Windows 7 incluyen este componente. Sin embargo, si estás ejecutando una versión anterior de Windows, tendrás que instalar Windows Search para FindPages para trabajar.
Método FindMeta
| Valor | Descripción |
|---|---|
| Descripción | Devuelve una lista de objetos de OneNote que contienen metadatos que coinciden con el término de consulta especificado. |
| Sintaxis | HRESULT FindMeta ([in]BSTR bstrStartNodeID,[in]BSTR bstrSearchBSTRName,[out]BSTR * pbstrHierarchyXmlOut,[in,defaultvalue(#)]VARIANT_BOOL fIncludeUnindexedPages,[in,defaultvalue(#)]XMLSchema xsSchema); |
| Parámetros |
bstrStartNodeID : nodo (raíz, cuaderno, grupo de secciones o sección) debajo del cual se va a buscar contenido. Este parámetro establece el alcance de la búsqueda. bstrSearchStringName : cadena de búsqueda. Pasar cualquier parte del nombre de metadatos. Si pasas una cadena vacía o un valor nulo, todos los objetos que tengan metadatos coincidirán con la consulta. pbstrHierarchyXmlOut : (parámetro Output) Puntero a una cadena en la que desea que OneNote escriba la cadena XML de salida. La cadena XML resultante contiene la jerarquía del bloc de notas desde la raíz hacia abajo, e incluso las páginas que coinciden con la cadena de búsqueda. Por ejemplo, el método FindPages no enumera las secciones que no tengan página coincidentes en la jerarquía. Además, si solo hay una página en una única sección que coincide con la cadena, la jerarquía devuelta incluye la ruta a esa página y sección, pero a ninguna otra parte de la jerarquía del bloc de notas. fIncludeUnindexedPages : (opcional) true para buscar páginas que no han sido indexadas por Windows Search; De lo contrario, false. xsSchema : (opcional) Versión del esquema de OneNote de la cadena pbstrHierarchyXmlOut. Este valor opcional se usa para especificar la versión del esquema XML de OneNote que contiene la cadena pbstrHierarchyXmlOut. Si no se especifica este valor, OneNote asumirá que el XML está en la versión de esquema xsCurrent. NOTA: Se recomienda especificar una versión de OneNote (como xs2013) en lugar de usar xsCurrent o dejarla en blanco, ya que esto permitirá que el complemento funcione con versiones futuras de OneNote. |
FindMeta funciona únicamente si tienes Microsoft Windows Search 3.0 o 4.0 instalado en tu equipo. Windows Vista y Windows 7 incluyen este componente. Sin embargo, si estás ejecutando una versión anterior de Windows, tendrás que instalar Windows Search para FindMeta para trabajar.
Métodos de funciones
Los métodos descritos en esta sección te permiten realizar ciertas acciones o establecer parámetros dentro de la aplicación de OneNote.
Método MergeFiles
| Valor | Descripción |
|---|---|
|
Descripción |
Permite a los usuarios combinar los cambios del mismo archivo en uno. Para que los archivos puedan considerarse iguales, deben tener la misma id. de OneNote. |
|
Sintaxis |
HRESULT MergeFiles ([in]BSTR bstrBaseFile,[in]BSTR bstrClientFile,[in]BSTR bstrServerFile,[in]BSTR bstrTargetFile); |
|
Parámetros |
bstrBaseFile : cadena de ruta de acceso a la ubicación del archivo .one del estado inicial del archivo. bstrClientFile : la cadena de ruta de acceso a la ubicación del archivo .one del segundo conjunto de cambios que se van a combinar con el archivo base después de que los cambios del archivo de servidor se combinen con la base. bstrServerFile : cadena de ruta de acceso a la ubicación del archivo .one del primer conjunto de cambios que se van a combinar con el archivo base. bstrTargetFile : cadena de ruta de acceso a la ubicación del archivo .one del archivo con los cambios combinados. |
El método MergeFiles se diseñó para escenarios móviles en los que pueden existir varias versiones de un archivo OneNote.
Método MergeSections
| Valor | Descripción |
|---|---|
|
Descripción |
Combina el contenido de una sección con otra en OneNote. |
|
Sintaxis |
HRESULT MergeSections ([in]BSTR bstrSectionSourceId,[in]BSTR bstrSectionDestinationId); |
|
Parámetros |
bstrSectionSourceId : el identificador de OneNote de la sección que se va a combinar. bstrSectionDestinationId : el identificador de OneNote de la sección en la que se va a combinar. La sección de origen se combinará con esta sección de destino. |
Este método realiza la misma operación que la característica Combinar en otra secciónque está visible cuando haces clic con el botón derecho en una sección.
Método QuickFiling
| Valor | Descripción |
|---|---|
|
Descripción |
Devuelve una instancia del cuadro de diálogo IQuickFilingDialog, que se puede usar para seleccionar una ubicación dentro del árbol de la jerarquía de OneNote. |
|
Sintaxis |
HRESULT QuickFiling (); |
Método SyncHierarchy
| Valor | Descripción |
|---|---|
|
Descripción |
Fuerza a OneNote a sincronizar un objeto específico con el archivo de origen en el disco. |
|
Sintaxis |
HRESULT SyncHierarchy ([in]BSTR bstrHierarchyID); |
|
Parámetros |
bstrHierarchyID : el identificador de OneNote del objeto que se va a sincronizar. |
Método SetFilingLocation
| Valor | Descripción |
|---|---|
|
Descripción |
Los usuarios pueden especificar dónde y cómo se deben archivar determinados tipos de contenido en OneNote. |
|
Sintaxis |
HRESULT SetFilingLocation ([in]FilingLocation flToSet,[in]FilingLocationType fltToSet,[in]BSTR bstrFilingSectionID); |
|
Parámetros |
flToSet : el tipo de objeto de la ubicación de presentación que se va a establecer. fltToSet : la ubicación en la que se va a archivar el tipo. bstrFilingSectionID : el identificador de OneNote de la sección o página en la que desea establecer la ubicación. Si no es aplicable, el usuario puede pasar un valor nulo o una cadena vacía. |
Los tipos de contenido que se puede archivar incluyen los elementos de Outlook y notas web de Internet Explorer que se importan a OneNote a través del comando Enviar a OneNote en cada aplicación. Con este método, también se puede establecer la ubicación de archivado de elementos que se imprimen en OneNote.
Propiedades
Esta sección describe las propiedades de la interfaz de la Aplicación.
| Propiedad | Descripción |
|---|---|
|
Windows |
Proporciona a los usuarios acceso a ventanas de OneNote abiertas. Esta propiedad permite a los usuarios enumerar el conjunto de ventanas de OneNote y modificar algunas propiedades de la ventana. Para obtener más información, consulta Interfaces de Windows. |
|
COMAddIns |
Devuelve la colección COMAddIns de OneNote. Esta colección contiene todos los complementos COM que están disponibles para OneNote. La propiedad Recuento de la colección COMAddins devuelve el número de complementos COM disponibles. Para obtener más información, consulta el objeto COMAddIns. |
|
LanguageSettings |
Te permite tener acceso a algunas API para cambiar la configuración de idioma común de OneNote. |
Eventos
Esta sección describe los eventos de la interfaz de la Aplicación.
Precaución
Los eventos actualmente no se pueden agregar en código administrado.
Evento OnNavigate
| Valor | Descripción |
|---|---|
|
Descripción |
Permite al usuario asignar una función que se puede llamar cuando la IU de OneNote se desplazó fuera de la ubicación actual de OneNote. |
|
Sintaxis |
Event OnNavigate (); |
Método OnHierarchyChange
| Valor | Descripción |
|---|---|
|
Descripción |
Permite al usuario asignar una función que se puede llamar cada vez que cambie la jerarquía de OneNote (por ejemplo, agregar o eliminar páginas o mover secciones). Los cambios en la jerarquía se realizan por lotes, por lo que si ocurren varios cambios a la vez o casi a la vez, OneNote eleva el evento una vez. |
|
Sintaxis |
Event OnHierarchyChange (BSTR bstrActivePageID); |
|
Parámetros |
bstrActivePageID : pasa el identificador de OneNote de la página activa. |