Interface do aplicativo (OneNote)
A interface do Aplicativo inclui métodos que ajudam a recuperar, manipular e atualizar as informações e o conteúdo do OneNote. Os métodos estão em quatro categorias gerais:
Estrutura do notebook – Métodos para trabalhar com estrutura de notebook, incluindo aqueles para descobrir, abrir, modificar, fechar e excluir blocos de anotações, grupos de seções e.
Conteúdo da página – métodos para trabalhar com páginas e conteúdo de página, incluindo aqueles para descobrir, modificar, salvar e excluir conteúdo de página. O conteúdo da página inclui objetos binários, como tinta e imagens, e objetos de texto, como estruturas de tópicos.
Navegação – Métodos para localizar, vincular e navegar até páginas e objetos.
Funcional – Todos os outros métodos que executam determinadas ações ou definem parâmetros no OneNote.
Além disso, o Application interface inclui uma série de propriedades e eventos.
Métodos de estrutura de bloco de anotações
Os métodos descritos nesta seção possibilitam descobrir, abrir, modificar, fechar e excluir blocos de anotações, grupos de seções e seções do OneNote.
Método GetHierarchy
Valor | Descrição |
---|---|
Descrição |
Obtém a estrutura da hierarquia de nós do bloco de anotações, começando pelo nó que você especifica (todos os blocos de anotações ou um único bloco de anotações, grupo de seções ou seção) e estendendo-se para baixo para incluir todos os descendentes no nível que você especificar. |
Sintaxe |
HRESULT GetHierarchy( [in]BSTR bstrStartNodeID, [in]HierarchyScope hsScope, [out]BSTR * pbstrHierarchyXmlOut, [in,defaultvalue(xs2013)]XMLSchema xsSchema); |
Parâmetros |
bstrStartNodeID – O nó (bloco de anotações, grupo de seções ou seção) cujos descendentes você deseja. Se você passar uma cadeia de caracteres nula (""), o método obterá todos os nós abaixo do nó raiz (ou seja, todos os blocos de anotações, grupos de seções e seções). Se você especificar um nó de bloco de anotações, de grupo de seções ou de seção, o método obterá apenas os descendentes desse nó. hsScope – o nível de nó descendente mais baixo desejado. Por exemplo, se você especificar páginas, o método obterá todos os nós até o nível de página. Se você especificar seções, o método obterá somente nós de seção abaixo do bloco de anotações. Para saber mais, consulte a enumeração HierarchyScope no tópico Enumerações. pbstrHierarchyXmlOut – (parâmetro de saída) Um ponteiro para a cadeia de caracteres na qual você deseja que o OneNote escreva a saída XML. xsSchema – (Opcional) A versão do esquema XML do OneNote, do tipo XMLSchema, que você deseja ter saída. Você pode especificar se deseja o Esquema XML versão 2013, 2010, 2007 ou a versão atual. OBSERVAÇÃO: recomendamos especificar uma versão do OneNote (como xs2013) em vez de usar xsCurrent ou deixá-la em branco, pois isso permitirá que seu suplemento funcione com versões futuras do OneNote. |
O método GetHierarchy retorna uma cadeia de caracteres no formato XML do OneNote 2013 por padrão ou você pode definir a versão de esquema XML preferencial usando o parâmetro xsSchema opcional.
Dependendo dos parâmetros que você passar, o método GetHierarchy pode retornar várias listas (por exemplo, todos os blocos de anotações, todas as seções em todos os blocos de anotações, todas as páginas em determinada seção ou todas as páginas em determinado bloco de anotações). Para cada nó, a cadeia de caracteres XML retornada fornece propriedades (por exemplo, o título da página ou seção, a ID e quando ele foi modificado pela última vez).
Nem todas as combinações de nó inicial e escopo são válidas. Por exemplo, se você especificar um nó inicial de seção e um escopo de bloco de anotações, GetHierarchy retornará um resultado nulo porque um bloco de anotações está mais acima na hierarquia de nós do que uma seção.
O exemplo de C# a seguir mostra como usar o método GetHierarchy para obter toda a hierarquia do OneNote, incluindo todos os blocos de anotações, até o nível de página. Ele copia a cadeia de caracteres resultante para a Área de Transferência, de onde você pode copiar e colar em um editor de texto para revisão.
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 | Descrição |
---|---|
Descrição | Modifica ou atualiza a hierarquia de blocos de anotações. Por exemplo, você pode adicionar seções ou grupos de seções a um bloco de anotações, adicionar um novo bloco de anotações, mover seções em um bloco de anotações, alterar o nome de uma seção, adicionar páginas a uma seção ou alterar a ordem das páginas em seções. |
Sintaxe | HRESULT UpdateHierarchy( [in]BSTR bstrChangesXmlIn, [in,defaultvalue(xsCurrent)] XMLSchema xsSchema); |
Parâmetros |
bstrChangesXmlIn – Uma cadeia de caracteres que contém o código XML do OneNote que especifica as alterações de hierarquia a serem feitas. Se quiser inserir uma nova seção, você pode adicionar um elemento Section à cadeia de caracteres XML para indicar onde deseja que a nova seção seja adicionada. Como alternativa, se quiser alterar o nome de uma seção existente, você pode manter a mesma ID de seção e alterar seu atributo name no código XML. xsSchema – (Opcional) A versão do esquema do OneNote da cadeia de caracteres bstrChangesXmln. Esse valor opcional é usado para especificar a versão do esquema XML do OneNote em que a cadeia de caracteres bstrChangesXmlIn está. Se esse valor não for especificado, o OneNote assumirá que o XML está na versão do esquema xsCurrent. OBSERVAÇÃO: recomendamos especificar uma versão do OneNote (como xs2013) em vez de usar xsCurrent ou deixá-la em branco, pois isso permitirá que seu suplemento funcione com versões futuras do OneNote. |
Se você passar apenas uma cadeia de caracteres XML parcial do OneNote para o parâmetro bstrChangesXmlIn , o OneNote tentará inferir as alterações desejadas. Por exemplo, se você incluir um elemento Notebook que contenha apenas uma seção, o OneNote adiciona a seção após quaisquer seções existentes. No entanto, se a operação que você especificar for ambígua, o resultado poderá ser difícil de determinar. Por exemplo, se um bloco de anotações existente contiver quatro seções, e a cadeia de caracteres de XML que você passar incluir o bloco de anotações e apenas a quarta e a primeira seções (nessa ordem), o OneNote pode colocar a segunda e a terceira seções antes da quarta seção ou depois da primeira seção.
Não é possível usar o método UpdateHierarchy para excluir parte de um bloco de anotações. Ou seja, passar uma cadeia de caracteres de XML que inclui apenas parte de uma hierarquia existente não exclui seções que não estejam inclusas na cadeia de caracteres. Para excluir parte de uma hierarquia, use o método DeleteHierarchy.
O código em C# a seguir mostra uma maneira de usar o método UpdateHierarchy para alterar a hierarquia do OneNote, alterando o nome de uma seção existente. Ele lê o código XML de um arquivo de exemplo chamado ChangeSectionName.xml na raiz da unidade C, carrega-o em um documento XML e passa a estrutura XML desse documento para o 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);
}
O código XML a seguir é um trecho do arquivo ChangeSectionName.xml que o código em C# anterior passa para o método. Quando o XML é passado para o método UpdateHierarchy, ele altera o nome de uma das seções na hierarquia existente (alterando o valor do atributo name para "Minha Seção Renomeada"). Em seguida, remove todas as seções, exceto aquela cujo nome foi alterado. Além disso, o código remove atributos desnecessários do elemento Section de destino, incluindo os atributos lastModifiedTime, isCurrentlyViewed e color, deixando apenas os atributos name, ID e path 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>
O código XML anterior foi obtido usando o código mostrado no exemplo para o método GetHierarchy, que é modificado da maneira a seguir para limitar o escopo de seções.
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");
}
O exemplo C# a seguir mostra um aplicativo de console completo que pesquisa uma seção chamada "Sample_Section
", solicita que o usuário insira um novo nome para a seção e, em seguida, usa o método UpdateHierarchy para alterar o nome da seção para o nome que o usuário digitou. Antes de executar o código, altere "Sample_Section
" para o nome de uma seção que existe na hierarquia do 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 | Descrição |
---|---|
Descrição |
Abre um grupo de seções ou uma seção que você especifica. |
Sintaxe |
HRESULT OpenHierarchy( [in]BSTR bstrPath, [in]BSTR bstrRelativeToObjectID, [out]BSTR * pbstrObjectID, [in,defaultvalue(cftNone)]CreateFileType cftIfNotExist); |
Parâmetros |
bstrPath – O caminho que você deseja abrir. Para um notebook ou para um grupo de seções em um notebook, bstrPath pode ser um caminho de pasta ou o caminho para um arquivo de seção .one. Se especificar o caminho de um arquivo de seção .one, você deve incluir a extensão .one na cadeia de caracteres do caminho do arquivo. bstrRelativeToObjectID – A ID do OneNote do objeto pai (bloco de anotações ou grupo de seções) em que você deseja que o novo objeto seja aberto. Se o parâmetro bstrPath for um caminho absoluto, você pode passar uma cadeia de cadeia de caracteres vazia ("") para bstrRelativeToObjectID. Como alternativa, você pode passar a ID de objeto de bloco de anotações ou grupo de seções que deve conter o objeto (seção ou grupo de seções) que você deseja criar e, em seguida, especificar o nome do arquivo (por exemplo, seção1.one) do objeto que você deseja criar sob esse objeto pai. pbstrObjectID – (parâmetro de saída) A ID do objeto que o OneNote retorna para o bloco de anotações, grupo de seções ou seção que o método OpenHierarchy abre. Esse parâmetro aponta para a cadeia de caracteres na qual você deseja que o método grave a ID. cftlfNotExist – (Opcional) Um valor enumerado da enumeração CreateFileType . Se você passar um valor para cftIfNotExist, o método OpenHierarchy criará o grupo de seção ou o arquivo de seção no caminho especificado somente se o arquivo ainda não existir. |
Se você especificar um grupo de seções que não esteja em um bloco de anotações aberto, o método OpenHierarchy abre o grupo de seções como um bloco de anotações. Se você especificar uma seção que não esteja em um bloco de anotações aberto, o método OpenHierarchy abre a seção no grupo Seções Abertas Recentes. Se você especificar um grupo de seções ou uma seção que já esteja em um bloco de anotações aberto, nada acontece, pois a seção ou o grupo de seções também já está aberto. De qualquer forma, OpenHierarchy retorna a ID de objeto do grupo de seções, bloco de anotações ou seção que você especifica, para que você possa usá-la em outras operações.
Você também pode usar o método OpenHierarchy para criar novas seções ao invés de fazer isso importando o XML.
O código a seguir mostra como usar o método OpenHierarchy para abrir a seção Reuniões no bloco de anotações Trabalho e obter a ID da seção. Se ainda não existir, o OneNote cria a seção no local que você especificar.
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 | Descrição |
---|---|
Descrição |
Exclui um objeto da hierarquia (um grupo de seções, uma seção ou uma página) da hierarquia de blocos de anotações do OneNote. |
Sintaxe |
HRESULT DeleteHierarchy( [in]BSTR bstrObjectID, [in,defaultvalue(0)]DATE dateExpectedLastModified, [in,defaultvalue(false)]VARIANT_BOOL deletePermanently); |
Parâmetros |
bstrObjectID – A ID do OneNote do objeto que você deseja excluir. O objeto pode ser um grupo de seções, uma seção ou uma página. dateExpectedLastModified – (Opcional) A data e a hora que você acha que o objeto que deseja excluir foi modificada pela última vez. Se você passar um valor diferente de zero para esse parâmetro, o OneNote prossegue com a atualização somente se o valor que você passar corresponder à data e à hora reais em que o objeto foi modificado pela última vez. Passar um valor para esse parâmetro ajuda a evitar a substituição acidental de edições que os usuários fizeram desde a última vez em que o objeto foi modificado. deletePermanently – (Opcional) true para excluir permanentemente o conteúdo; false para mover o conteúdo para a lixeira do OneNote para o Notebook correspondente (o padrão). Se o bloco de anotações estiver no formato do OneNote 2007, não haverá uma lixeira. Portanto, o conteúdo será excluído permanentemente. |
Método CreateNewPage
Valor | Descrição |
---|---|
Descrição |
Adiciona uma nova página à seção que você especificar. A nova página é adicionada como a última página da seção |
Sintaxe |
HRESULT CreateNewPage( [in]BSTR bstrSectionID, [out]BSTR * pbstrPageID); [in,defaultvalue(npsDefault)]NewPageStyle npsNewPageStyle); |
Parâmetros |
bstrSectionID – Uma cadeia de caracteres que contém a ID do OneNote da seção na qual você deseja criar a nova página. pbstrPageID – (parâmetro de saída) Um ponteiro para a cadeia de caracteres na qual o método grava a ID do OneNote para a página recém-criada. npsNewPageStyle – Um valor da enumeração NewPageStyle que especifica o estilo da página a ser criada. |
A API do OneNote inclui o método CreateNewPage para fins de conveniência. Você pode obter o mesmo resultado com maior controle sobre como a nova página é posicionada na hierarquia chamando o método UpdateHierarchy. O método UpdateHierarchy também permite que você crie subpáginas ao mesmo tempo em que cria uma nova página.
Método CloseNotebook
Valor | Descrição |
---|---|
Descrição |
Fecha o bloco de anotações especificado. |
Sintaxe |
HRESULT CloseNotebook( [in]BSTR bstrNotebookID, [in,defaultvalue(false)]VARIANT_BOOL force); |
Parâmetros |
bstrNotebookID – A ID do OneNote do notebook que você deseja fechar. force – (Opcional) true para fechar o notebook, mesmo que haja alterações no notebook que o OneNote não pode sincronizar antes de fechar; caso contrário, false (o padrão). |
Você pode usar o método CloseNotebook para fechar o bloco de anotações que especificar. Ao chamar esse método, o OneNote sincroniza todos os arquivos offline com o conteúdo do bloco de anotações atual, se necessário, e fecha o bloco de anotações especificado. Depois que o método retorna, o bloco de anotações não aparece mais na lista de blocos de anotações abertos na interface do usuário do OneNote.
Método GetHierarchyParent
Valor | Descrição |
---|---|
Descrição |
Obtém a ID do OneNote para o objeto pai de um objeto do OneNote. |
Sintaxe |
HRESULT GetHierarchyParent ( [in]BSTR bstrObjectID, [out]BSTR * pbstrParentID); |
Parâmetros |
bstrObjectID – Uma cadeia de caracteres que contém a ID do OneNote do objeto do qual você deseja encontrar o objeto pai. pbstrParentID – (parâmetro de saída) Um ponteiro para a cadeia de caracteres na qual o método grava a ID do OneNote do objeto pai. |
Se o objeto do OneNote não tiver um objeto pai (por exemplo, quando um usuário desejar obter o pai de um bloco de anotações), ocorre uma exceção.
Método GetSpecialLocation
Valor | Descrição |
---|---|
Descrição |
Localiza o caminho para o local em que o OneNote armazena certos itens especiais, como backups, anotações não arquivadas e o bloco de anotações padrão. |
Sintaxe |
HRESULT GetSpecialLocation( [in]SpecialLocation slToGet, [out]BSTR * pbstrSpecialLocationPath); |
Parâmetros |
slToGet – um dos valores de enumeração SpecialLocation que especifica o local da pasta especial a ser obtido. pbstrSpecialLocationPath – (parâmetro de saída) Um ponteiro para a cadeia de caracteres na qual você deseja que o OneNote escreva o caminho da pasta especial. |
Você pode usar esse método para determinar o local da pasta Anotações não arquivadas no disco. Essa é a pasta na qual o OneNote armazena anotações que são criadas quando você arrasta um item para o OneNote, bem como anotações que são enviadas diretamente de outros aplicativos (como aquelas geradas quando você clica em Enviar para o OneNote no Microsoft Outlook ou no Microsoft Internet Explorer).
Métodos de conteúdo de página
Os métodos descritos nesta seção permitem descobrir, atualizar e excluir o conteúdo em páginas de blocos de anotações do OneNote, além de publicar conteúdo do OneNote.
Método GetPageContent
Valor | Descrição |
---|---|
Descrição | Obtém todo o conteúdo da página especificada no formato XML do OneNote. |
Sintaxe | HRESULT GetPageContent( [in]BSTR bstrPageID, [out]BSTR * pbstrPageXmlOut, [in,defaultvalue(piBasic)]PageInfo pageInfoToExport, [in,defaultvalue(xsCurrent)]XMLSchema xsSchema); |
Parâmetros |
bstrPageId – A ID do OneNote da página cujo conteúdo você deseja obter. pbstrPageXmlOut – (parâmetro de saída) Um ponteiro para a cadeia de caracteres na qual você deseja que o OneNote escreva a saída XML. pageInfoToExport – (Opcional) Especifica se o método GetPageContent retorna conteúdo binário, inserido no código XML e codificado na base-64. O conteúdo binário pode incluir imagens e dados de tinta , por exemplo. O parâmetro pageInfoToExport também especifica se deve marcar a seleção no código XML que o método GetPageContent retorna. É necessário um valor enumerado da enumeração PageInfo. xsSchema – (Opcional) A versão do esquema XML do OneNote, do tipo XMLSchema, que você deseja ter saída. Você pode especificar se deseja o Esquema XML versão 2013, 2010, 2007 ou a versão atual. OBSERVAÇÃO: recomendamos especificar uma versão do OneNote (como xs2013) em vez de usar xsCurrent ou deixá-la em branco, pois isso permitirá que seu suplemento funcione com versões futuras do OneNote. |
Por padrão, para evitar comprimento em excesso na cadeia de caracteres XML que ele retorna, o OneNote não insere conteúdo binário no código XML. Pelo mesmo motivo, não marca a seleção atual com atributos da seleção. Objetos binários incluem uma ID do OneNote em suas marcas. Para obter um objeto binário, chame o método GetBinaryPageContent e passe a ele a ID do OneNote obtida com o método GetPageContent. Use o método GetPageContent quando não precisar dos dados binários imediatamente.
Método UpdatePageContent
Valor | Descrição |
---|---|
Descrição | Atualiza ou modifica o conteúdo da página. |
Sintaxe | HRESULT UpdatePageContent( [in]BSTR bstrPageChangesXmlIn, [in,defaultvalue(0)]DATE dateExpectedLastModified, [in,defaultvalue(xsCurrent)]XMLSchema xsSchema, [in,defaultvalue(false)]VARIANT_BOOL force); |
Parâmetros |
bstrPageChangesXmlIn – Uma cadeia de caracteres que contém o código XML do OneNote que inclui as alterações que você deseja fazer na página. dateExpectedLastModified – (Opcional) A data e a hora que você acha que a página que deseja atualizar foi modificada pela última vez. Se você passar um valor diferente de zero para esse parâmetro, o OneNote prossegue com a atualização somente se o valor que você passar corresponder à data e à hora reais em que a página foi modificada pela última vez. Passar um valor para esse parâmetro ajuda a evitar a substituição acidental de edições que os usuários fizeram desde a última vez em que a página foi modificada. xsSchema – (Opcional) A versão do esquema XML do OneNote, do tipo XMLSchema, que você deseja ter saída. Você pode especificar se deseja o esquema XML versão 2013, 2010, 2007 ou a versão atual. OBSERVAÇÃO: recomendamos especificar uma versão do OneNote (como xs2013) em vez de usar xsCurrent ou deixá-la em branco, pois isso permitirá que seu suplemento funcione com versões futuras do OneNote. force(Opcional) true para atualizar o conteúdo da página, mesmo que haja dados desconhecidos nela de uma versão posterior do OneNote; caso contrário, false (o padrão). |
Você pode usar esse método para modificar a página de várias maneiras. Por exemplo, pode usar o método UpdatePageContent para adicionar uma estrutura de tópicos a uma página, alterar o conteúdo de uma estrutura de tópicos, adicionar imagens, adicionar tinta, mover o conteúdo ou modificar o texto em estruturas de tópicos.
Como um exemplo mais específico, você pode usar o método GetPageContent para exportar uma página existente, fazer algumas alterações em seu código XML e usar o método UpdatePageContent para importar a página inteira novamente. Ou pode usar esse método para adicionar novos objetos de página, como imagens, à parte inferior de uma página existente.
Os únicos objetos que você deve incluir no código XML a ser passado ao método UpdatePageContent são objetos alterados no nível de página (como estruturas de tópicos, imagens ou tinta na página). Esse método não modifica nem remove objetos de nível de página que você não especifica no parâmetro bstrPageChangesXmlIn. O método substitui totalmente os objetos no nível de página, como estruturas de tópicos cujas IDs correspondem às dos objetos que você passa. Consequentemente, você deve especificar todos os objetos no nível de página no código, incluindo o conteúdo existente e as alterações que deseja fazer neles.
Por exemplo, se a página contiver uma estrutura de tópicos e uma imagem de fundo de página, você pode substituir a estrutura de tópicos e deixar a imagem inalterada, especificando completamente a estrutura de tópicos no código XML, usando a ID da estrutura de tópicos existente e não incluindo a imagem no código. Como a estrutura de tópicos revisada que você inclui no código substitui completamente a estrutura de tópicos existente, você deve incluir todo o conteúdo da estrutura de tópicos.
Além disso, o método UpdatePageContent modifica apenas as propriedades do elemento que você especifica no parâmetro bstrPageChangesXmlIn. Por exemplo, se você especificar algumas das propriedades do elemento PageSettings, mas não todas elas, as propriedades que você não especificar permanecerão inalteradas.
O exemplo a seguir mostra como usar o método UpdatePageContent para alterar o título da página e adicionar texto de exemplo à página. Antes de executar o código, substitua a ID de página mostrada no código por uma ID de página válida, para que o código funcione em seu computador. Você pode obter a ID de uma página usando o método GetHierarchy e examinando o resultado.
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 | Descrição |
---|---|
Descrição |
Retorna um objeto binário, como imagens ou tinta, em uma página do OneNote como uma cadeia de caracteres codificada na base 64. |
Sintaxe |
HRESULT GetBinaryPageContent( [in]BSTR bstrPageID, [in]BSTR bstrCallbackID, [out]BSTR * pbstrBinaryObjectB64Out); |
Parâmetros |
bstrPageID – A ID do OneNote da página que contém o objeto binário a ser obtido. bstrCallBackID – A ID do OneNote do objeto binário que você deseja obter. Essa ID, conhecida como callbackID, é o código XML do OneNote para uma página retornada pelo método GetPageContent. pbstrBinaryObectB64Out – (parâmetro de saída) Um ponteiro para uma cadeia de caracteres na qual o OneNote grava o objeto binário como uma cadeia de caracteres codificada base-64. |
Método DeletePageContent
Valor | Descrição |
---|---|
Descrição |
Exclui um objeto – como um objeto Outline, Ink ou Image de uma página. |
Sintaxe |
HRESULT DeletePageContent( [in]BSTR bstrPageID, [in]BSTR bstrObjectID, [in,defaultvalue(0)]DATE dateExpectedLastModified, [in,defaultvalue(#)]VARIANT_BOOL force); |
Parâmetros |
bstrPageID – A ID do OneNote da página que contém o objeto a ser excluído. bstrObjectID – A ID do OneNote do objeto que você deseja excluir. dateExpectedLastModified – (Opcional) A data e hora que você acha que a página que contém conteúdo que você deseja excluir foi modificada pela última vez. Se você passar um valor diferente de zero para esse parâmetro, o OneNote prossegue com a exclusão somente se o valor que você passar corresponder à data e à hora reais em que a página foi modificada pela última vez. Passar um valor para esse parâmetro ajuda a evitar a substituição acidental de edições feitas pelos usuários desde a última vez em que a página foi modificada. force – (Opcional) true para atualizar o conteúdo da página, mesmo que haja dados desconhecidos na página de uma versão futura do OneNote; caso contrário, false (o padrão). |
Método Publish
Valor | Descrição |
---|---|
Descrição |
Exporta a página especificada para um arquivo em qualquer formato ao qual o OneNote dê suporte. |
Sintaxe |
HRESULT Publish( [in]BSTR bstrHierarchyID, [in]BSTR bstrTargetFilePath, [in,defaultvalue(pfOneNote)]PublishFormat pfPublishFormat, [in,defaultvalue(0)]BSTR bstrCLSIDofExporter); |
Parâmetros |
bstrHierarchyID – A ID do OneNote da hierarquia que você deseja exportar. bstrTargetFilePath – O caminho absoluto para o local em que você deseja salvar o arquivo de saída resultante. O arquivo que você especificar deve ser um que ainda não exista no local. pfPublishFormat – Um dos valores de enumeração PublishFormat que especifica o formato no qual você deseja que a página publicada seja (por exemplo, MTHML, PDF e assim por diante). bstrCLSIDofExporter – A ID de classe (CLSID) de um aplicativo COM registrado que pode exportar metafiles aprimorados do Microsoft Windows (.emf). O aplicativo COM deve implementar a interface IMsoDocExporter. Esse parâmetro é incluído para permitir que desenvolvedores terceirizados escrevam seu próprio código para publicar conteúdo do OneNote em um formato personalizado. Para saber mais sobre a interface IMsoDocExporter, consulte Estender o recurso de exportação de formato fixo do Office 2007. |
Atualmente, o OneNote oferece suporte aos seguintes formatos de arquivo:
- Arquivos MHTML (.mht)
- Arquivos PDF do Adobe Acrobat (.pdf)
- Arquivos XML Paper Specification (.xps)
- Arquivos do OneNote 2013, 2010 ou 2007 (.one)
- Arquivos de pacote do OneNote(.onepkg)
- Documentos do Microsoft Word (.docx ou .doc)
- Metarquivos aprimorados do Microsoft Windows (.emf)
- Arquivos HTML (.html)
Esse método produz exatamente os mesmos resultados que você obteria clicando em Publicar na interface do usuário e especificando o formato.
Métodos de navegação
Os métodos descritos nesta seção permitem encontrar, navegar para e vincular a blocos de anotações do OneNote, grupos de seções, seções, páginas e objetos de página.
Método NavigateTo
Valor | Descrição |
---|---|
Descrição |
Navega para o objeto específico (por exemplo, seções, páginas e elementos Outline em páginas). |
Sintaxe |
HRESULT NavigateTo( [in]BSTR bstrHierarchyObjectID, [in,defaultvalue(#)]BSTR bstrObjectID, [in,defaultvalue(0)]VARIANT_BOOL fNewWindow); |
Parâmetros |
bstrHierarchyObjectID – A ID do OneNote do objeto para o qual você deseja navegar na Hierarquia do OneNote. bstrObjectID – A ID do OneNote do objeto para o qual você deseja navegar na página do OneNote. fNewWindow – (Opcional) true para abrir o objeto especificado em uma nova janela do OneNote. false não abre uma nova janela do OneNote se uma estiver aberta. |
Método NavigateToUrl
Valor | Descrição |
---|---|
Descrição |
Se for passado um link do OneNote (onenote://), a janela do OneNote abre no local correspondente no OneNote. Se o link for externo ao OneNote, como https:// ou file://,uma caixa de diálogo de segurança é exibida. Após ignorar, o OneNote tenta abrir o link e retorna um erro HResult.hrObjectDoesNotExist. |
Sintaxe |
HRESULT NavigateTo( [in]BSTR bstrUrl, [in,defaultvalue(0)]VARIANT_BOOL fNewWindow); |
Parâmetros |
bstrUrl – Uma cadeia de caracteres que indica para onde navegar. Pode ser um link do OneNote ou qualquer outra URL, como um local de rede ou um link da Web. fNewWindow – (Opcional) true para abrir a URL especificada em uma nova janela do OneNote. false não abre uma nova janela do OneNote se uma estiver aberta. |
Método GetHyperLinkToObject
Valor | Descrição |
---|---|
Descrição |
Obtém um hiperlink do OneNote para o bloco de anotações, grupo de seções, seção, página ou objeto de página específico. |
Sintaxe |
HRESULT GetHyperlinkToObject( [in] BSTR bstrHierarchyID, [in] BSTR bstrPageContentObjectID, [out] BSTR * pbstrHyperlinkOut); |
Parâmetros |
bstrHierarchyID – A ID do OneNote para o notebook, grupo de seções, seção ou página para a qual você deseja um hiperlink. bstrPageContentObjectID – (Opcional) A ID do OneNote para o objeto dentro da página para a qual você deseja um hiperlink. Por exemplo, o objeto pode ser uma estrutura de tópicos ou um elemento Outline. Se você passar uma cadeia de caracteres vazia (""), o link retornado apontará para o bloco de anotações, grupo de seções, seção ou página que você especificou no parâmetro bstrHierarchyID. Se você passar uma cadeia de caracteres não vazia para o parâmetro bstrPageContentObjectID , o parâmetro _bstrHierarchyIDdeve ser uma referência à página que contém o objeto especificado. pbstrHyperlinkOut – (parâmetro de saída) Um ponteiro para uma cadeia de caracteres na qual o método GetHyperlinkToObject grava o texto de hiperlink de saída. |
Ao tentar navegar até o link resultante, o OneNote abre e exibe o objeto especificado no navegador.
Método GetWebHyperlinktoObject
Valor | Descrição |
---|---|
Descrição |
Retorna um hiperlink para um objeto que abre no cliente Web do OneNote. |
Sintaxe |
HRESULT GetWebHyperlinkToObject ( [in] BSTR bstrHierarchyID, [in] BSTR bstrPageContentObjectID, [out] BSTR * pbstrHyperlinkOut); |
Parâmetros |
bstrHierarchyID – A ID do OneNote para o notebook, grupo de seções, seção ou página para a qual você deseja um hiperlink da Web. bstrPageContentObjectID – (Opcional) A ID do OneNote para o objeto dentro da página para a qual você deseja um hiperlink. Por exemplo, o objeto pode ser uma estrutura de tópicos ou um elemento Outline. Se você passar uma cadeia de caracteres vazia (""), o link retornado apontará para o bloco de anotações, grupo de seções, seção ou página que você especificou no parâmetro bstrHierarchyID. Se você passar uma cadeia de caracteres não vazia para o parâmetro bstrPageContentObjectID , o parâmetro _bstrHierarchyIDdeve ser uma referência à página que contém o objeto especificado. pbstrHyperlinkOut – (parâmetro de saída) Um ponteiro para uma cadeia de caracteres na qual o método GetWebHyperlinkToObject grava o texto de hiperlink de saída. Se não for possível criar um hiperlink da Web para o bloco de anotações, um valor nulo retorna. |
Método FindPages
Valor | Descrição |
---|---|
Descrição | Retorna uma lista de páginas que correspondem ao termo de consulta especificado. |
Sintaxe | 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 – O nó (raiz, notebook, grupo de seções ou seção) abaixo do qual pesquisar conteúdo. Esse parâmetro define o escopo da pesquisa. bstrSearchString – A cadeia de caracteres de pesquisa. Passe exatamente a mesma cadeia de caracteres que você digita na caixa de pesquisa na interface do usuário do OneNote. Você pode usar operadores de bits, como AND e OR, que devem estar inteiramente em maiúsculas. pbstrHierarchyXmlOut – (parâmetro de saída) Um ponteiro para uma cadeia de caracteres na qual você deseja que o OneNote escreva a cadeia de caracteres XML de saída. A cadeia de caracteres XML resultante contém a hierarquia de bloco de anotações da raiz para baixo e incluindo quaisquer páginas que correspondem à cadeia de caracteres de pesquisa. Por exemplo, o método FindPages não lista seções sem correspondências de página na hierarquia. Além disso, se apenas uma página em uma única seção corresponder à cadeia de caracteres, a hierarquia retornada incluirá o caminho dessa seção e página, mas nenhuma outra parte da hierarquia de bloco de anotações. fIncludeUnindexedPages – (Opcional) true para páginas de pesquisa que não foram indexadas pelo Windows Search; caso contrário, false. fDisplay – (opcional) true para também executar a pesquisa na interface do usuário para o usuário, assim como se o usuário tivesse digitado ele mesmo. false para executar a consulta sem alterar a interface do usuário (padrão). xsSchema – (Opcional) A versão do esquema do OneNote da cadeia de caracteres pbstrHierarchyXmlOut. Esse valor opcional é usado para especificar a versão do esquema XML do OneNote que contém a cadeia de caracteres pbstrHierarchyXmlOut. Se esse valor não for especificado, o OneNote assumirá que o XML está na versão do esquema xsCurrent. OBSERVAÇÃO: recomendamos especificar uma versão do OneNote (como xs2013) em vez de usar xsCurrent ou deixá-la em branco, pois isso permitirá que seu suplemento funcione com versões futuras do OneNote. |
FindPages funciona apenas se você tiver a Pesquisa da Microsoft 3.0 ou 4.0 instalada no computador. O Windows 7 e o Windows Vista incluem esse componente. No entanto, se você estiver executando uma versão anterior do Windows, deve instalar a Pesquisa do Windows para que FindPages funcione.
Método FindMeta
Valor | Descrição |
---|---|
Descrição | Retorna uma lista de objetos do OneNote com metadados que correspondem ao termo de consulta especificado. |
Sintaxe | HRESULT FindMeta ( [in]BSTR bstrStartNodeID, [in]BSTR bstrSearchBSTRName, [out]BSTR * pbstrHierarchyXmlOut, [in,defaultvalue(#)]VARIANT_BOOL fIncludeUnindexedPages, [in,defaultvalue(#)]XMLSchema xsSchema); |
Parâmetros |
bstrStartNodeID – O nó (raiz, notebook, grupo de seções ou seção) abaixo do qual pesquisar conteúdo. Esse parâmetro define o escopo da pesquisa. bstrSearchStringName – A cadeia de caracteres de pesquisa. Passe em qualquer parte do nome de metadados. Se você passar uma cadeia de caracteres vazia ou um valor nulo, todos os objetos que têm metadados corresponderão à consulta. pbstrHierarchyXmlOut – (parâmetro de saída) Um ponteiro para uma cadeia de caracteres na qual você deseja que o OneNote escreva a cadeia de caracteres XML de saída. A cadeia de caracteres XML resultante contém a hierarquia de bloco de anotações da raiz para baixo e incluindo quaisquer páginas que correspondem à cadeia de caracteres de pesquisa. Por exemplo, o método FindPages não lista seções sem correspondências de página na hierarquia. Além disso, se apenas uma página em uma única seção corresponder à cadeia de caracteres, a hierarquia retornada incluirá o caminho dessa seção e página, mas nenhuma outra parte da hierarquia de bloco de anotações. fIncludeUnindexedPages – (Opcional) true para páginas de pesquisa que não foram indexadas pelo Windows Search; caso contrário, false. xsSchema – (Opcional) A versão do esquema do OneNote da cadeia de caracteres pbstrHierarchyXmlOut. Esse valor opcional é usado para especificar a versão do esquema XML do OneNote que contém a cadeia de caracteres pbstrHierarchyXmlOut. Se esse valor não for especificado, o OneNote assumirá que o XML está na versão do esquema xsCurrent. OBSERVAÇÃO: recomendamos especificar uma versão do OneNote (como xs2013) em vez de usar xsCurrent ou deixá-la em branco, pois isso permitirá que seu suplemento funcione com versões futuras do OneNote. |
FindMeta só funciona se você tiver a Pesquisa do Microsoft Windows 3.0 ou 4.0 instalada no computador. O Windows 7 e o Windows Vista incluem esse componente. No entanto, se você estiver executando uma versão anterior do Windows, deve instalar a Pesquisa do Windows para que o FindMeta funcione.
Métodos funcionais
Os métodos descritos nesta seção permitem realizem determinadas ações ou definir parâmetros no aplicativo OneNote.
Método MergeFiles
Valor | Descrição |
---|---|
Descrição |
Permite aos usuários mesclar alterações no mesmo arquivo como uma só. Para que os arquivos sejam considerados o mesmo, eles devem ter a mesma ID do OneNote. |
Sintaxe |
HRESULT MergeFiles ( [in]BSTR bstrBaseFile, [in]BSTR bstrClientFile, [in]BSTR bstrServerFile, [in]BSTR bstrTargetFile); |
Parâmetros |
bstrBaseFile – A cadeia de caracteres de caminho para o local do arquivo .one do estado inicial do arquivo. bstrClientFile – A cadeia de caracteres de caminho para o local do arquivo .one do segundo conjunto de alterações a ser mesclada com o arquivo base depois que as alterações de arquivo do servidor são mescladas com a base. bstrServerFile – A cadeia de caracteres de caminho para o local do arquivo .one do primeiro conjunto de alterações a ser mesclada com o arquivo base. bstrTargetFile – A cadeia de caracteres de caminho para o local do arquivo .one do arquivo com as alterações mescladas. |
O método MergeFiles destina-se a cenários móveis, em que podem existir várias versões de um arquivo do OneNote.
Método MergeSections
Valor | Descrição |
---|---|
Descrição |
Mescla o conteúdo de uma seção em outra no OneNote. |
Sintaxe |
HRESULT MergeSections ( [in]BSTR bstrSectionSourceId, [in]BSTR bstrSectionDestinationId); |
Parâmetros |
bstrSectionSourceId – A ID do OneNote da seção a ser mesclada. bstrSectionDestinationId – A ID do OneNote da seção a ser mesclada. A seção de origem será mesclada nessa seção de destino. |
Esse método executa a mesma operação que o recurso Mesclar em outra seção, que fica visível ao clicar com o botão direito do mouse em uma seção.
Método QuickFiling
Valor | Descrição |
---|---|
Descrição |
Retorna uma instância da caixa de diálogo IQuickFilingDialog, que pode ser usada para selecionar um local em uma árvore hierárquica do OneNote. |
Sintaxe |
HRESULT QuickFiling ( ); |
Método SyncHierarchy
Valor | Descrição |
---|---|
Descrição |
Força o OneNote a fazer a sincronização do objeto especificado com o arquivo de origem no disco. |
Sintaxe |
HRESULT SyncHierarchy ( [in]BSTR bstrHierarchyID); |
Parâmetros |
bstrHierarchyID – A ID do OneNote do objeto a ser sincronizado. |
Método SetFilingLocation
Valor | Descrição |
---|---|
Descrição |
Permite aos usuários especificar onde e como certos tipos de conteúdo devem ser arquivados no OneNote. |
Sintaxe |
HRESULT SetFilingLocation ( [in]FilingLocation flToSet, [in]FilingLocationType fltToSet, [in]BSTR bstrFilingSectionID); |
Parâmetros |
flToSet – O tipo de objeto do local de arquivamento a ser definido. fltToSet – o local no qual arquivar o tipo. bstrFilingSectionID – A ID do OneNote da seção ou página em qual local você deseja definir. Se não for aplicável, o usuário pode passar um valor nulo ou uma cadeia de caracteres vazia. |
Os tipos de conteúdo que podem ser arquivados incluem itens do Outlook e anotações da Web do Internet Explorer que serão importados para o OneNote por meio do comando Enviar para o OneNote em cada aplicativo. O local de arquivamento de itens que são impressos no OneNote também pode definido com esse método.
Propriedades
Esta seção descreve as propriedades da interface do Aplicativo.
Propriedade | Descrição |
---|---|
Windows |
Oferece aos usuários acesso a janelas abertas do OneNote. Essa propriedade permite que os usuários enumerem o conjunto das janelas do OneNote e modifiquem certas propriedades da janela. Para saber mais, consulte Interfaces do Windows. |
COMAddIns |
Retorna a coleção de COMAddIns para o OneNote. Essa coleção contém todos os suplementos COM disponíveis para o OneNote. A propriedade Count da coleção COMAddins retorna a quantidade de suplementos COM disponíveis. Para saber mais, consulte o objeto COMAddIns. |
LanguageSettings |
Permite acessar algumas APIs para alterar as configurações de idioma comuns do OneNote. |
Eventos
Esta seção descreve os eventos da interface do Aplicativo.
Cuidado
No momento não é possível adicionar eventos ao código gerenciado.
Evento OnNavigate
Valor | Descrição |
---|---|
Descrição |
Permite ao usuário atribuir uma função a ser chamada quando você navega do local atual do OneNote para fora da interface de usuário do OneNote. |
Sintaxe |
Event OnNavigate ( ); |
Método OnHierarchyChange
Valor | Descrição |
---|---|
Descrição |
Permite ao usuário atribuir uma função a ser chamada sempre que a hierarquia do OneNote for alterada (por exemplo, adicionar páginas, excluir páginas ou mover seções). Alterações de hierarquia são realizadas em lote. Portanto, se várias alterações ocorrerem ao mesmo tempo ou quase, o OneNote disparará o evento uma vez. |
Sintaxe |
Event OnHierarchyChange ( BSTR bstrActivePageID); |
Parâmetros |
bstrActivePageID – passa a ID do OneNote da página ativa. |