Partager via


Interface d’application (OneNote)

L’interface d’application inclut des méthodes qui vous aident à récupérer, à manipuler et à mettre à jour les informations et le contenu de OneNote. Les méthodes se divisent en quatre catégories générales :

  • Structure de bloc-notes : méthodes permettant d’utiliser la structure des blocs-notes, notamment celles permettant de découvrir, d’ouvrir, de modifier, de fermer et de supprimer des blocs-notes, des groupes de sections et des sections.

  • Contenu de page : méthodes d’utilisation des pages et du contenu de page, y compris celles pour la découverte, la modification, l’enregistrement et la suppression du contenu de page. Le contenu de page inclut les objets binaires, comme les entrées manuscrites et les images, ainsi que les objets texte, tels que les plans.

  • Navigation : méthodes de recherche, de liaison et de navigation vers des pages et des objets.

  • Fonctionnel : toutes les autres méthodes qui effectuent certaines actions ou définissent des paramètres dans OneNote.

En outre, l’interface d’application inclut un certain nombre de propriétés et d’événements.

Méthodes de structure de bloc-notes

Les méthodes décrites dans cette section vous permettent de découvrir, d’ouvrir, de modifier, de fermer et de supprimer des blocs-notes, des groupes de sections et des sections OneNote.

Méthode GetHierarchy

Valeur Description
Description
Obtient la structure de la hiérarchie du nœud de bloc-notes, en commençant par le nœud que vous spécifiez (tous les blocs-notes ou un seul bloc-notes, un groupe de sections ou une section), puis en continuant avec tous les descendants au niveau que vous spécifiez.
Syntaxe
HRESULT GetHierarchy(
[in]BSTR bstrStartNodeID,
[in]HierarchyScope hsScope,
[out]BSTR * pbstrHierarchyXmlOut,
[in,defaultvalue(xs2013)]XMLSchema xsSchema);
Paramètres
bstrStartNodeID : nœud (bloc-notes, groupe de sections ou section) dont vous souhaitez obtenir les descendants. Si vous indiquez une chaîne null (« »), la méthode obtient tous les nœuds sous le nœud racine (autrement dit, tous les blocs-notes, tous les groupes de sections et toutes les sections). Si vous spécifiez un nœud de type bloc-notes, groupe de sections ou section, la méthode obtient uniquement les descendants de ce nœud.
hsScope : niveau de nœud descendant le plus bas souhaité. Par exemple, si vous spécifiez les pages, la méthode obtient tous les nœuds jusqu’au niveau page. Si vous spécifiez les sections, la méthode obtient uniquement les nœuds de section sous le bloc-notes. Pour plus d’informations, reportez-vous à l’énumération HierarchyScope dans la rubrique Énumérations.
pbstrHierarchyXmlOut : (paramètre De sortie) Pointeur vers la chaîne dans laquelle vous souhaitez que OneNote écrive la sortie XML.
xsSchema : (Facultatif) Version du schéma XML OneNote, de type XMLSchema, que vous souhaitez générer. Vous pouvez spécifier la version de schéma XML 2013, 2010, 2007 ou la version actuelle.
REMARQUE : Nous vous recommandons de spécifier une version de OneNote (telle que xs2013) au lieu d’utiliser xsCurrent ou de la laisser vide, car cela permettra à votre complément de fonctionner avec les versions ultérieures de OneNote.

La méthode GetHierarchy retourne une chaîne au format XML OneNote 2013 par défaut ou vous pouvez définir la version de schéma XML préférée à l’aide du paramètre xsSchema facultatif.

En fonction des paramètres que vous spécifiez, la méthode GetHierarchy peut renvoyer plusieurs listes (par exemple, tous les blocs-notes, toutes les sections dans tous les blocs-notes, toutes les pages dans une section donnée ou toutes les pages dans un bloc-notes donné). Pour chaque nœud, la chaîne XML renvoyée fournit des propriétés (par exemple, le titre de la page ou de la section, l’ID et l’heure de la dernière modification).

Les combinaisons de nœud de départ et d’étendue ne sont pas toutes valides. Par exemple, si vous spécifiez un nœud de départ de section et une étendue de bloc-notes, la méthode GetHierarchy renvoie un résultat null, car les blocs-notes se trouvent plus haut que les sections dans la hiérarchie de nœud.

L’exemple C# qui suit indique comment utiliser la méthode GetHierarchy pour obtenir la hiérarchie OneNote entière, y compris tous les blocs-notes jusqu’au niveau page. GetHierarchy copie la chaîne de sortie dans le Presse-papiers, à partir duquel vous pouvez coller la chaîne dans un éditeur de texte pour révision.

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éthode UpdateHierarchy

Valeur Description
Description Modifie ou met à jour la hiérarchie des blocs-notes. Par exemple, vous pouvez ajouter des sections ou des groupes de sections à un bloc-notes, ajouter un nouveau bloc-notes, déplacer des sections au sein d’un bloc-notes, modifier le nom d’une section, ajouter des pages à une section ou modifier l’ordre des pages dans des sections.
Syntaxe HRESULT UpdateHierarchy(
[in]BSTR bstrChangesXmlIn,
[in,defaultvalue(xsCurrent)] XMLSchema xsSchema);
Paramètres bstrChangesXmlIn : chaîne qui contient du code XML OneNote qui spécifie les modifications de hiérarchie à apporter. Par exemple, si vous voulez insérer une nouvelle section, vous pouvez ajouter un élément Section dans la chaîne XML afin d’indiquer l’emplacement où la nouvelle section doit être ajoutée. Par ailleurs, si vous voulez modifier le nom d’une section existante, vous pouvez conserver le même ID de section et modifier son attribut name dans le code XML.

xsSchema : (Facultatif) Version de schéma OneNote de la chaîne bstrChangesXmln. Cette valeur facultative est utilisée pour spécifier la version du schéma XML OneNote dans laquelle se trouve la chaîne bstrChangesXmlIn . Si cette valeur n’est pas spécifiée, OneNote suppose que le xml est dans la version de schéma xsCurrent.

REMARQUE : Nous vous recommandons de spécifier une version de OneNote (telle que xs2013) au lieu d’utiliser xsCurrent ou de la laisser vide, car cela permettra à votre complément de fonctionner avec les versions ultérieures de OneNote.

Si vous passez uniquement une chaîne ONENote XML partielle pour le paramètre bstrChangesXmlIn , OneNote tente de déduire les modifications souhaitées. Par exemple, si vous incluez un élément Notebook qui ne contient qu’une section, OneNote ajoute la section après toute section existante. Toutefois, si l’opération que vous spécifiez est ambiguë, le résultat peut être difficile à déterminer. Par exemple, si un bloc-notes existant contient quatre sections et si la chaîne XML que vous spécifiez inclut le bloc-notes, ainsi que la quatrième et la première sections (dans cet ordre) uniquement, OneNote peut placer la deuxième et la troisième sections avant la quatrième section ou après la première section.

Vous ne pouvez pas utiliser la méthode UpdateHierarchy pour supprimer une partie d’un bloc-notes. Autrement dit, la spécification d’une chaîne XML qui inclut uniquement une partie d’une hiérarchie existante ne supprime pas les sections qui ne sont pas incluses dans la chaîne. Pour supprimer une partie d’une hiérarchie, utilisez la méthode DeleteHierarchy.

Le code C# qui suit illustre une manière d’utiliser la méthode UpdateHierarchy afin de modifier la hiérarchie OneNote, en changeant le nom d’une section existante. Cette opération lit le code XML à partir d’un exemple de fichier nommé ChangeSectionName.xml au niveau de la racine du lecteur C, le charge dans un document XML, puis transmet la structure XML de ce document à la méthode.

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);   
    }

Le code XML suivant est un extrait du fichier ChangeSectionName.xml que le code C# précédent transmet à la méthode. Lorsque le code XML est transmis à la méthode UpdateHierarchy, il modifie le nom d’une des sections dans la hiérarchie existante (en remplaçant la valeur de l’attribut name par « My Renamed Section »). Ensuite, il supprime toutes les sections à l’exception de celle dont le nom a été modifié. Par ailleurs, le code supprime les attributs inutiles de l’élément Section cible, y compris les attributs lastModifiedTime, isCurrentlyViewed et color, en laissant intacts uniquement les attributs name, ID et 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>

Le code XML précédent a été obtenu en utilisant le code indiqué dans l’exemple pour la méthode GetHierarchy, qui a été modifié comme suit pour limiter l’étendue aux sections.

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");
    }

L’exemple C# suivant montre une application console complète qui recherche une section nommée «Sample_Section », invite l’utilisateur à entrer un nouveau nom pour la section, puis utilise la méthode UpdateHierarchy pour remplacer le nom de la section par le nom que l’utilisateur a tapé. Avant d’exécuter le code, remplacez «Sample_Section » par le nom d’une section qui existe dans votre hiérarchie 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éthode OpenHierarchy

Valeur Description
Description
Ouvre le groupe de sections ou la section que vous spécifiez.
Syntaxe
HRESULT OpenHierarchy(
[in]BSTR bstrPath,
[in]BSTR bstrRelativeToObjectID,
[out]BSTR * pbstrObjectID,
[in,defaultvalue(cftNone)]CreateFileType cftIfNotExist);
Paramètres
bstrPath : chemin d’accès que vous souhaitez ouvrir. Pour un bloc-notes ou pour un groupe de sections dans un bloc-notes, bstrPath peut être un chemin de dossier ou le chemin d’accès à un fichier de section .one. Si vous définissez le chemin d’accès vers un fichier de section .one, vous devez inclure l’extension .one dans la chaîne de chemin d’accès au fichier.
bstrRelativeToObjectID : ID OneNote de l’objet parent (bloc-notes ou groupe de sections) sous lequel vous souhaitez que le nouvel objet s’ouvre. Si le paramètre bstrPath est un chemin absolu, vous pouvez passer une chaîne vide ("") pour bstrRelativeToObjectID. Sinon, vous pouvez transmettre l’ID d’objet du groupe de sections ou du bloc-notes qui doit contenir l’objet (section ou groupe de sections) à créer, puis spécifier le nom du fichier (par exemple, section1.one) de l’objet à créer sous cet objet parent.
pbstrObjectID : (paramètre De sortie) ID d’objet que OneNote renvoie pour le bloc-notes, le groupe de sections ou la section ouvert par la méthode OpenHierarchy . Ce paramètre est un pointeur vers la chaîne dans laquelle vous souhaitez que la méthode écrive l’ID.
cftlfNotExist : (Facultatif) Valeur énumérée de l’énumération CreateFileType . Si vous transmettez une valeur pour cftIfNotExist, la méthode OpenHierarchy crée le groupe de sections ou le fichier de section au niveau du chemin d’accès spécifié uniquement si le fichier n’existe pas déjà.

Si vous spécifiez un groupe de sections qui ne figure pas dans un bloc-notes ouvert, la méthode OpenHierarchy ouvre le groupe de sections sous la forme d’un bloc-notes. Si vous spécifiez une section qui ne se trouve pas dans un bloc-notes ouvert, la méthode OpenHierarchy ouvre la section dans le groupe de sections récemment ouvertes. Si vous spécifiez un groupe de sections ou une section qui se trouve déjà dans un bloc-notes ouvert, rien ne se produit, car la section ou le groupe de sections est déjà ouvert. Dans tous les cas, OpenHierarchy renvoie l’ID d’objet pour le groupe de sections, le bloc-notes ou la section que vous spécifiez, afin que vous puissiez l’utiliser dans d’autres opérations.

Vous pouvez également utiliser la méthode OpenHierarchy pour créer de nouvelles sections au lieu d’importer du code XML.

Le code suivant indique comment utiliser la méthode OpenHierarchy pour ouvrir la section Meetings dans le bloc-notes Work et obtenir l’ID de la section. Si la section n’existe pas déjà, OneNote la crée à l’emplacement que vous spécifiez.

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éthode DeleteHierarchy

Valeur Description
Description
Supprime tout objet de la hiérarchie (groupe de sections, section ou page) de la hiérarchie de bloc-notes OneNote.
Syntaxe
HRESULT DeleteHierarchy(
[in]BSTR bstrObjectID,
[in,defaultvalue(0)]DATE dateExpectedLastModified,
[in,defaultvalue(false)]VARIANT_BOOL deletePermanently);
Paramètres
bstrObjectID : ID OneNote de l’objet à supprimer. L’objet peut être un groupe de sections, une section ou une page.
dateExpectedLastModified : (Facultatif) Date et heure de la dernière modification de l’objet que vous souhaitez supprimer. Si vous transmettez une valeur non nulle pour ce paramètre, OneNote procède à la mise à jour uniquement si cette valeur correspond à la date et à l’heure réelles de la dernière modification de l’objet. La spécification d’une valeur pour ce paramètre permet d’éviter d’écraser accidentellement les modifications apportées par les utilisateurs depuis la dernière modification de l’objet.
deletePermanently : (Facultatif) true pour supprimer définitivement le contenu ; false pour déplacer le contenu dans la corbeille OneNote du bloc-notes correspondant (valeur par défaut). Si le bloc-notes est au format OneNote 2007, il n’existe pas de corbeille. Le contenu est donc supprimé définitivement.

Méthode CreateNewPage

Valeur Description
Description
Ajoute une nouvelle page à la section que vous spécifiez. Celle-ci est ajoutée comme la dernière page de la section.
Syntaxe
HRESULT CreateNewPage(
[in]BSTR bstrSectionID,
[out]BSTR * pbstrPageID);
[in,defaultvalue(npsDefault)]NewPageStyle npsNewPageStyle);
Paramètres
bstrSectionID : chaîne qui contient l’ID OneNote de la section dans laquelle vous souhaitez créer la page.
pbstrPageID : (paramètre de sortie) Pointeur vers la chaîne dans laquelle la méthode écrit l’ID OneNote pour la page nouvellement créée.
npsNewPageStyle : valeur de l’énumération NewPageStyle qui spécifie le style de la page à créer.

L’API OneNote inclut la méthode CreateNewPage pour plus de commodité. Vous pouvez obtenir le même résultat, avec un meilleur contrôle sur la façon dont la nouvelle page est positionnée dans la hiérarchie en appelant la méthode UpdateHierarchy. La méthode UpdateHierarchy vous permet également de créer des sous-pages en même temps que vous créez une page.

Méthode CloseNotebook

Valeur Description
Description
Ferme le bloc-notes spécifié.
Syntaxe
HRESULT CloseNotebook(
[in]BSTR bstrNotebookID,
[in,defaultvalue(false)]VARIANT_BOOL force);
Paramètres
bstrNotebookID : ID OneNote du bloc-notes que vous souhaitez fermer.
force : (facultatif) true pour fermer le bloc-notes, même s’il existe des modifications dans le bloc-notes que OneNote ne peut pas synchroniser avant la fermeture ; sinon, false (valeur par défaut).

Utilisez la méthode CloseNotebook pour fermer le bloc-notes de votre choix. Lorsque vous appelez cette méthode, OneNote synchronise les fichiers hors connexion avec le contenu du bloc-notes en cours, si nécessaire, et ferme le bloc-notes spécifié. Après le retour de la méthode, le bloc-notes n’apparaît plus dans la liste des blocs-notes ouverts dans l’interface utilisateur OneNote (IU).

Méthode GetHierarchyParent

Valeur Description
Description
Obtient l’ID OneNote de l’objet parent d’un objet OneNote.
Syntaxe
HRESULT GetHierarchyParent (
[in]BSTR bstrObjectID,
[out]BSTR * pbstrParentID);
Paramètres
bstrObjectID : chaîne qui contient l’ID OneNote de l’objet dont vous souhaitez trouver l’objet parent.
pbstrParentID : (paramètre Output) Pointeur vers la chaîne dans laquelle la méthode écrit l’ID OneNote de l’objet parent.

Si l’objet OneNote n’a pas d’objet parent (par exemple, lorsqu’un utilisateur souhaite obtenir le parent d’un bloc-notes), une exception est levée.

Méthode GetSpecialLocation

Valeur Description
Description
Recherche le chemin d’accès à l’emplacement où OneNote stocke certains éléments spéciaux, tels que les sauvegardes, les notes non classées et le bloc-notes par défaut.
Syntaxe
HRESULT GetSpecialLocation(
[in]SpecialLocation slToGet,
[out]BSTR * pbstrSpecialLocationPath);
Paramètres
slToGet : une des valeurs d’énumération SpecialLocation qui spécifie l’emplacement du dossier spécial à obtenir.
pbstrSpecialLocationPath : (paramètre Output) Pointeur vers la chaîne dans laquelle OneNote doit écrire le chemin du dossier spécial.

Vous pouvez utiliser cette méthode pour déterminer l’emplacement sur disque du dossier Notes non classées. Autrement dit, le dossier dans lequel OneNote stocke les notes qui sont créées lorsque vous faites glisser un élément dans OneNote, ainsi que les notes provenant directement d’autres applications (par exemple, celles que vous obtenez lorsque vous cliquez sur Envoyer à OneNote dans Microsoft Outlook ou Microsoft Internet Explorer).

Méthodes de contenu de page

Les méthodes décrites dans cette section vous aident à découvrir, mettre à jour et supprimer le contenu des pages dans les blocs-notes OneNote, ainsi qu’à publier du contenu OneNote.

Méthode GetPageContent

Valeur Description
Description Obtient l’ensemble du contenu (au format XML OneNote) de la page spécifiée.
Syntaxe HRESULT GetPageContent(
[in]BSTR bstrPageID,
[out]BSTR * pbstrPageXmlOut,
[in,defaultvalue(piBasic)]PageInfo pageInfoToExport,
[in,defaultvalue(xsCurrent)]XMLSchema xsSchema);
Paramètres bstrPageId : ID OneNote de la page dont vous souhaitez obtenir le contenu.

pbstrPageXmlOut : (paramètre Output) Pointeur vers la chaîne dans laquelle Vous souhaitez que OneNote écrive la sortie XML.

pageInfoToExport – (Facultatif) Spécifie si la méthode GetPageContent retourne du contenu binaire, incorporé dans le code XML et encodé en base 64. Le contenu binaire peut inclure, par exemple, des images et des données d’entrée manuscrite. Le paramètre pageInfoToExport spécifie également s’il faut baliser la sélection dans le code XML renvoyé par la méthode GetPageContent. Il prend une valeur énumérée à partir de l’énumération PageInfo.

xsSchema : (Facultatif) Version du schéma XML OneNote, de type XMLSchema, que vous souhaitez générer. Vous pouvez spécifier la version de schéma XML 2013, 2010, 2007 ou la version actuelle.

REMARQUE : Nous vous recommandons de spécifier une version de OneNote (telle que xs2013) au lieu d’utiliser xsCurrent ou de la laisser vide, car cela permettra à votre complément de fonctionner avec les versions ultérieures de OneNote.

Par défaut, pour éviter que la chaîne XML renvoyée soit trop longue, OneNote n’incorpore pas de contenu binaire dans le code XML. Pour la même raison, il ne marque pas la sélection en cours avec les attributs de sélection. Les objets binaires incluent un ID OneNote dans leurs balises. Pour obtenir un objet binaire, appelez la méthode GetBinaryPageContent et transmettez-lui l’ID OneNote que vous obtenez à partir de la méthode GetPageContent. Utilisez la méthode GetPageContent lorsque vous n’avez pas besoin des données binaires immédiatement.

Méthode UpdatePageContent

Valeur Description
Description Met à jour ou modifie le contenu de la page.
Syntaxe HRESULT UpdatePageContent(
[in]BSTR bstrPageChangesXmlIn,
[in,defaultvalue(0)]DATE dateExpectedLastModified,
[in,defaultvalue(xsCurrent)]XMLSchema xsSchema,
[in,defaultvalue(false)]VARIANT_BOOL force);
Paramètres bstrPageChangesXmlIn : chaîne qui contient du code XML OneNote qui inclut les modifications que vous souhaitez apporter à la page.

dateExpectedLastModified : (Facultatif) Date et heure de la dernière modification de la page que vous souhaitez mettre à jour. Si vous transmettez une valeur non nulle pour ce paramètre, OneNote procède à la mise à jour uniquement si cette valeur correspond à la date et à l’heure réelles de la dernière modification de la page. La spécification d’une valeur pour ce paramètre permet d’éviter d’écraser accidentellement les modifications apportées par les utilisateurs depuis la dernière modification de la page.

xsSchema : (Facultatif) Version du schéma XML OneNote, de type XMLSchema, que vous souhaitez générer. Vous pouvez spécifier la version de schéma XML 2013, 2010, 2007 ou la version actuelle.

REMARQUE : Nous vous recommandons de spécifier une version de OneNote (telle que xs2013) au lieu d’utiliser xsCurrent ou de la laisser vide, car cela permettra à votre complément de fonctionner avec les versions ultérieures de OneNote.

force (Facultatif) true pour mettre à jour le contenu de la page, même si certaines données de la page sont inconnues et proviennent d’une version ultérieure de OneNote ; sinon, false (par défaut).

Vous pouvez utiliser cette méthode pour modifier la page de différentes façons. Par exemple, vous pouvez utiliser la méthode UpdatePageContent pour ajouter un plan à une page, modifier le contenu d’un plan, ajouter des images, ajouter des entrées manuscrites, déplacer du contenu ou modifier le texte dans les plans.

En guise d’exemple plus spécifique, vous pouvez utiliser la méthode GetPageContent pour exporter une page existante, apporter des modifications au code XML de la page, puis utiliser la méthode UpdatePageContent pour importer la page entière à nouveau. Sinon, utilisez cette méthode pour ajouter de nouveaux objets de page, tels que des images, en bas d’une page existante.

Les seuls objets que vous devez inclure dans le code XML que vous transmettez à la méthode UpdatePageContent sont les objets de niveau page (par exemple, des plans, des images sur la page ou des entrées manuscrites sur la page) qui ont été modifiés. Cette méthode ne modifie ni ne supprime les objets de niveau page que vous ne spécifiez pas dans le paramètre bstrPageChangesXmlIn. La méthode remplace entièrement les objets de niveau de page, tels que les plans, dont les ID correspondent à ceux des objets que vous transmettez. Par conséquent, vous devez spécifier entièrement tous les objets de niveau page dans votre code, y compris leur contenu existant et les modifications que vous souhaitez y apporter.

Par exemple, si votre page contient un plan et une image de page d’arrière-plan, vous pouvez remplacer le plan et conserver l’image en spécifiant complètement le plan dans le code XML, en utilisant l’ID du plan existant et en excluant l’image du code. Étant donné que le plan révisé que vous incluez dans le code remplace complètement le plan existant, vous devez inclure l’ensemble du contenu du plan.

Par ailleurs, la méthode UpdatePageContent modifie uniquement les propriétés d’élément que vous spécifiez dans le paramètre bstrPageChangesXmlIn. Par exemple, si vous spécifiez certaines propriétés de l’élément PageSettings mais pas toutes, les propriétés que vous ne spécifiez pas restent inchangées.

L’exemple suivant montre comment utiliser la méthode UpdatePageContent pour modifier le titre d’une page et ajouter un échantillon de texte à la page. Avant d’exécuter le code, remplacez un ID de page valide pour l’ID de page affiché dans le code, afin que le code fonctionne sur votre ordinateur. Vous pouvez obtenir l’ID d’une page en utilisant la méthode GetHierarchy, puis en examinant la sortie.

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éthode GetBinaryPageContent

Valeur Description
Description
Renvoie un objet binaire, comme une entrée manuscrite ou une image, sur une page OneNote sous forme de chaîne encodée en base 64.
Syntaxe
HRESULT GetBinaryPageContent(
[in]BSTR bstrPageID,
[in]BSTR bstrCallbackID,
[out]BSTR * pbstrBinaryObjectB64Out);
Paramètres
bstrPageID : ID OneNote de la page qui contient l’objet binaire à obtenir.
bstrCallBackID : ID OneNote de l’objet binaire que vous souhaitez obtenir. Cet ID, nommé callbackID, se trouve dans le code XML OneNote pour une page renvoyée par la méthode GetPageContent.
pbstrBinaryObectB64Out : (paramètre Output) Pointeur vers une chaîne dans laquelle OneNote écrit l’objet binaire sous la forme d’une chaîne codée en base 64.

Méthode DeletePageContent

Valeur Description
Description
Supprime un objet , tel qu’un objet Outline, Ink ou Image d’une page.
Syntaxe
HRESULT DeletePageContent(
[in]BSTR bstrPageID,
[in]BSTR bstrObjectID,
[in,defaultvalue(0)]DATE dateExpectedLastModified,
[in,defaultvalue(#)]VARIANT_BOOL force);
Paramètres
bstrPageID : ID OneNote de la page qui contient l’objet à supprimer.
bstrObjectID : ID OneNote de l’objet à supprimer.
dateExpectedLastModified : (Facultatif) Date et heure auxquelles vous pensez que la page qui contient le contenu que vous souhaitez supprimer a été modifiée pour la dernière fois. Si vous transmettez une valeur non nulle pour ce paramètre, OneNote procède à la suppression uniquement si cette valeur correspond à la date et à l’heure réelles de la dernière modification de la page. La spécification d’une valeur pour ce paramètre permet d’éviter d’écraser accidentellement les modifications apportées par les utilisateurs depuis la dernière modification de la page.
force : (facultatif) true pour mettre à jour le contenu de la page, même s’il existe des données inconnues sur la page à partir d’une version ultérieure de OneNote ; sinon, false (valeur par défaut).

Méthode Publish

Valeur Description
Description
Exporte la page que vous spécifiez dans un fichier sous n’importe quel format pris en charge par OneNote.
Syntaxe
HRESULT Publish(
[in]BSTR bstrHierarchyID,
[in]BSTR bstrTargetFilePath,
[in,defaultvalue(pfOneNote)]PublishFormat pfPublishFormat,
[in,defaultvalue(0)]BSTR bstrCLSIDofExporter);
Paramètres
bstrHierarchyID : ID OneNote de la hiérarchie que vous souhaitez exporter.
bstrTargetFilePath : chemin d’accès absolu à l’emplacement où vous souhaitez enregistrer le fichier de sortie résultant. Le fichier que vous spécifiez ne doit pas déjà exister à cet emplacement.
pfPublishFormat : une des valeurs d’énumération PublishFormat qui spécifie le format dans lequel vous souhaitez que la page publiée soit (par exemple, MTHML, PDF, etc.).
bstrCLSIDofExporter : ID de classe (CLSID) d’une application COM inscrite qui peut exporter des métafichiers microsoft Windows améliorés (.emf). L’application COM doit implémenter l’interface IMsoDocExporter. Ce paramètre permet aux développeurs tiers d’écrire leur propre code afin de publier du contenu OneNote dans un format personnalisé. Pour plus d’informations sur l’interface IMsoDocExporter, consultez la rubrique relative à l’extension de la fonctionnalité d’exportation au format fixe Office 2007.

Pour l’instant, OneNote prend en charge les formats de fichier suivants :

  • Fichiers MHTML (.mht)
  • Fichiers PDF Adobe Acrobat (.pdf)
  • Fichiers XPS (XML Paper Specification, .xps).
  • Fichiers OneNote 2013, 2010 ou 2007 (.one)
  • Fichiers de package OneNote (.onepkg)
  • Documents Microsoft Word (.doc ou .docx)
  • Métafichiers améliorés Microsoft Windows (.emf)
  • Fichiers HTML (.html)

Cette méthode génère exactement les mêmes résultats que vous obtiendriez en cliquant sur Publier dans l’interface utilisateur et en spécifiant le format.

Les méthodes décrites dans cette section vous aident à rechercher, atteindre et créer un lien vers les blocs-notes OneNote, les groupes de sections, les sections, les pages et les objets de page.

Valeur Description
Description
Accède à l’objet spécifié (par exemple, sections, pages et éléments Outline au sein des pages).
Syntaxe
HRESULT NavigateTo(
[in]BSTR bstrHierarchyObjectID,
[in,defaultvalue(#)]BSTR bstrObjectID,
[in,defaultvalue(0)]VARIANT_BOOL fNewWindow);
Paramètres
bstrHierarchyObjectID : ID OneNote de l’objet auquel vous souhaitez accéder dans la hiérarchie OneNote.
bstrObjectID : ID OneNote de l’objet auquel vous souhaitez accéder sur la page OneNote.
fNewWindow : (Facultatif) true pour ouvrir l’objet spécifié dans une nouvelle fenêtre OneNote. La valeur false n’ouvre pas de nouvelle fenêtre OneNote si une fenêtre est ouverte.
Valeur Description
Description
Si un lien OneNote est transmis (onenote://), cette méthode ouvre la fenêtre OneNote à l’emplacement correspondant dans OneNote. Si le lien est externe à OneNote (par exemple, https:// ou file://), une boîte de dialogue de sécurité s’affiche. Après le renvoi, OneNote essaie d’ouvrir le lien et une erreur HResult.hrObjectDoesNotExist est renvoyée.
Syntaxe
HRESULT NavigateTo(
[in]BSTR bstrUrl,
[in,defaultvalue(0)]VARIANT_BOOL fNewWindow);
Paramètres
bstrUrl : chaîne qui indique où accéder. Il peut s’agir d’un lien OneNote ou de toute autre URL, par exemple un emplacement réseau ou un lien web.
fNewWindow : (Facultatif) true pour ouvrir l’URL spécifiée dans une nouvelle fenêtre OneNote. La valeur false n’ouvre pas de nouvelle fenêtre OneNote si une fenêtre est ouverte.

Méthode GetHyperLinkToObject

Valeur Description
Description
Obtient un lien hypertexte OneNote vers le bloc-notes, le groupe de sections, la section, la page ou l’objet de page spécifié.
Syntaxe
HRESULT GetHyperlinkToObject(
[in] BSTR bstrHierarchyID,
[in] BSTR bstrPageContentObjectID,
[out] BSTR * pbstrHyperlinkOut);
Paramètres
bstrHierarchyID : ID OneNote du bloc-notes, du groupe de sections, de la section ou de la page pour lequel vous souhaitez créer un lien hypertexte.
bstrPageContentObjectID : (Facultatif) ID OneNote de l’objet dans la page pour laquelle vous souhaitez un lien hypertexte. Par exemple, l’objet peut être un plan ou un élément Outline. Si vous indiquez une chaîne vide (« »), le lien renvoyé pointe vers le bloc-notes, le groupe de sections, la section ou la page que vous avez spécifié dans le paramètre bstrHierarchyID. Si vous passez une chaîne non vide pour le paramètre bstrPageContentObjectID , le paramètre _bstrHierarchyIDdoit être une référence à la page qui contient l’objet spécifié.
pbstrHyperlinkOut : (paramètre de sortie) Pointeur vers une chaîne dans laquelle la méthode GetHyperlinkToObject écrit le texte du lien hypertexte de sortie.

Lorsque vous tentez d’accéder au lien obtenu, OneNote ouvre et affiche l’objet spécifié dans le navigateur.

Méthode GetWebHyperlinktoObject

Valeur Description
Description
Renvoie un lien hypertexte vers un objet qui s’ouvre dans le client web de OneNote.
Syntaxe
HRESULT GetWebHyperlinkToObject (
[in] BSTR bstrHierarchyID,
[in] BSTR bstrPageContentObjectID,
[out] BSTR * pbstrHyperlinkOut);
Paramètres
bstrHierarchyID : ID OneNote pour le bloc-notes, le groupe de sections, la section ou la page pour lequel vous souhaitez un lien hypertexte web.
bstrPageContentObjectID : (Facultatif) ID OneNote de l’objet dans la page pour laquelle vous souhaitez un lien hypertexte. Par exemple, l’objet peut être un plan ou un élément Outline. Si vous indiquez une chaîne vide (« »), le lien renvoyé pointe vers le bloc-notes, le groupe de sections, la section ou la page que vous avez spécifié dans le paramètre bstrHierarchyID. Si vous passez une chaîne non vide pour le paramètre bstrPageContentObjectID , le paramètre _bstrHierarchyIDdoit être une référence à la page qui contient l’objet spécifié.
pbstrHyperlinkOut : (paramètre Output) Pointeur vers une chaîne dans laquelle la méthode GetWebHyperlinkToObject écrit le texte du lien hypertexte de sortie. Si un lien hypertexte web ne peut pas être créé pour le bloc-notes, une valeur null est renvoyée.

Méthode FindPages

Valeur Description
Description Renvoie la liste des pages correspondant au terme de requête spécifié.
Syntaxe 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);
Paramètres bstrStartNodeID : nœud (racine, bloc-notes, groupe de sections ou section) sous lequel rechercher du contenu. Ce paramètre définit l’étendue de la recherche.

bstrSearchString : chaîne de recherche. Indiquez exactement la même chaîne que vous saisiriez dans la zone de recherche de l’interface utilisateur OneNote. Vous pouvez utiliser des opérateurs de comparaison de bits, tel que AND et OR, qui doivent apparaître entièrement en majuscules.

pbstrHierarchyXmlOut : (paramètre de sortie) Pointeur vers une chaîne dans laquelle Vous souhaitez que OneNote écrive la chaîne XML de sortie. La chaîne XML obtenue contient la hiérarchie de bloc-notes, de la racine aux pages qui correspondent à la chaîne de recherche incluses. Par exemple, la méthode FindPages ne répertorie pas les sections qui n’ont aucune correspondance de page dans la hiérarchie. Par ailleurs, si une seule page dans une même section correspond à la chaîne, la hiérarchie renvoyée inclut le chemin d’accès à cette section et à cette page, mais à aucune autre partie de la hiérarchie de bloc-notes.

fIncludeUnindexedPages : (facultatif) true pour les pages de recherche qui n’ont pas été indexées par Recherche Windows ; sinon, false.

fDisplay : (Facultatif) true pour exécuter également la recherche dans l’interface utilisateur pour l’utilisateur, comme si l’utilisateur l’avait tapé lui-même. false pour effectuer la requête sans apporter de modification à l’interface utilisateur (par défaut).

xsSchema : (Facultatif) Version de schéma OneNote de la chaîne pbstrHierarchyXmlOut. Cette valeur facultative est utilisée pour spécifier la version du schéma XML OneNote qui contient la chaîne pbstrHierarchyXmlOut. Si cette valeur n’est pas spécifiée, OneNote suppose que le xml est dans la version de schéma xsCurrent.

REMARQUE : Nous vous recommandons de spécifier une version de OneNote (telle que xs2013) au lieu d’utiliser xsCurrent ou de la laisser vide, car cela permettra à votre complément de fonctionner avec les versions ultérieures de OneNote.

FindPages fonctionne uniquement si vous avez installé la recherche Microsoft 3.0 ou 4.0 sur votre ordinateur. Windows Vista et Windows 7 incluent ce composant. Toutefois, si vous exécutez une version antérieure de Windows, vous devez installer Windows Search pour que la méthode FindPages fonctionne.

Méthode FindMeta

Valeur Description
Description Renvoie la liste des objets OneNote qui contiennent des métadonnées correspondant au terme de requête spécifié.
Syntaxe HRESULT FindMeta (
[in]BSTR bstrStartNodeID,
[in]BSTR bstrSearchBSTRName,
[out]BSTR * pbstrHierarchyXmlOut,
[in,defaultvalue(#)]VARIANT_BOOL fIncludeUnindexedPages,
[in,defaultvalue(#)]XMLSchema xsSchema);
Paramètres bstrStartNodeID : nœud (racine, bloc-notes, groupe de sections ou section) sous lequel rechercher du contenu. Ce paramètre définit l’étendue de la recherche.

bstrSearchStringName : chaîne de recherche. Indiquez une partie du nom de métadonnées. Si vous transmettez une chaîne vide ou une valeur null, tous les objets contenant des métadonnées correspondent à la requête.

pbstrHierarchyXmlOut : (paramètre de sortie) Pointeur vers une chaîne dans laquelle Vous souhaitez que OneNote écrive la chaîne XML de sortie. La chaîne XML obtenue contient la hiérarchie de bloc-notes, de la racine aux pages qui correspondent à la chaîne de recherche incluses. Par exemple, la méthode FindPages ne répertorie pas les sections qui n’ont aucune correspondance de page dans la hiérarchie. Par ailleurs, si une seule page dans une même section correspond à la chaîne, la hiérarchie renvoyée inclut le chemin d’accès à cette section et à cette page, mais à aucune autre partie de la hiérarchie de bloc-notes.
fIncludeUnindexedPages : (facultatif) true pour les pages de recherche qui n’ont pas été indexées par Recherche Windows ; sinon, false.

xsSchema : (Facultatif) Version de schéma OneNote de la chaîne pbstrHierarchyXmlOut. Cette valeur facultative est utilisée pour spécifier la version du schéma XML OneNote qui contient la chaîne pbstrHierarchyXmlOut. Si cette valeur n’est pas spécifiée, OneNote suppose que le xml est dans la version de schéma xsCurrent.

REMARQUE : Nous vous recommandons de spécifier une version de OneNote (telle que xs2013) au lieu d’utiliser xsCurrent ou de la laisser vide, car cela permettra à votre complément de fonctionner avec les versions ultérieures de OneNote.

FindMeta fonctionne uniquement si vous avez installé Microsoft Windows Search 3.0 ou 4.0 sur votre ordinateur. Windows Vista et Windows 7 incluent ce composant. Toutefois, si vous exécutez une version antérieure de Windows, vous devez installer Windows Search pour que la méthode FindMeta fonctionne.

Méthodes fonctionnelles

Les méthodes décrites dans cette section vous aident à effectuer certaines actions ou à définir des paramètres dans l’application OneNote.

Méthode MergeFiles

Valeur Description
Description
Permet aux utilisateurs de fusionner les modifications pour le même fichier dans un seul fichier. Les fichiers considérés comme identiques doivent avoir le même ID OneNote.
Syntaxe
HRESULT MergeFiles (
[in]BSTR bstrBaseFile,
[in]BSTR bstrClientFile,
[in]BSTR bstrServerFile,
[in]BSTR bstrTargetFile);
Paramètres
bstrBaseFile : chaîne de chemin d’accès à l’emplacement du fichier .one de l’état initial du fichier.
bstrClientFile : chaîne de chemin d’accès à l’emplacement de fichier .one du deuxième ensemble de modifications à fusionner avec le fichier de base après la fusion des modifications du fichier serveur avec la base.
bstrServerFile : chaîne de chemin d’accès à l’emplacement de fichier .one du premier ensemble de modifications à fusionner avec le fichier de base.
bstrTargetFile : chaîne de chemin d’accès à l’emplacement de fichier .one du fichier avec les modifications fusionnées.

La méthode MergeFiles a été conçue pour les scénarios mobiles dans lesquels plusieurs versions d’un fichier OneNote peuvent exister.

Méthode MergeSections

Valeur Description
Description
Fusionne le contenu d’une section dans une autre section dans OneNote.
Syntaxe
HRESULT MergeSections (
[in]BSTR bstrSectionSourceId,
[in]BSTR bstrSectionDestinationId);
Paramètres
bstrSectionSourceId : ID OneNote de la section à fusionner.
bstrSectionDestinationId : ID OneNote de la section dans laquelle fusionner. La section source est fusionnée dans cette section de destination.

Cette méthode effectue la même opération que la fonctionnalité Fusionner dans une autre section qui est visible lorsque vous cliquez avec le bouton droit de la souris sur une section.

Méthode QuickFiling

Valeur Description
Description
Renvoie une instance de la boîte de dialogue IQuickFilingDialog, qui peut être utilisée pour sélectionner un emplacement dans l’arborescence de la hiérarchie OneNote.
Syntaxe
HRESULT QuickFiling (
);

Méthode SyncHierarchy

Valeur Description
Description
Force OneNote à synchroniser l’objet spécifié avec le fichier source sur le disque.
Syntaxe
HRESULT SyncHierarchy (
[in]BSTR bstrHierarchyID);
Paramètres
bstrHierarchyID : ID OneNote de l’objet à synchroniser.

Méthode SetFilingLocation

Valeur Description
Description
Permet aux utilisateurs de spécifier où et comment certains types de contenu doivent être classés dans OneNote.
Syntaxe
HRESULT SetFilingLocation (
[in]FilingLocation flToSet,
[in]FilingLocationType fltToSet,
[in]BSTR bstrFilingSectionID);
Paramètres
flToSet : type d’objet de l’emplacement de classement à définir.
fltToSet : emplacement dans lequel le type doit être fichier.
bstrFilingSectionID : ID OneNote de la section ou de la page à laquelle vous souhaitez définir l’emplacement. Si ce n’est pas applicable, l’utilisateur peut transmettre une valeur null ou une chaîne vide.

Les types de contenu qui peuvent être classés incluent les éléments Outlook et les notes web d’Internet Explorer qui sont importés dans OneNote via la commande Envoyer à OneNote dans chaque application. L’emplacement de classement des éléments imprimés dans OneNote peuvent également être définis avec cette méthode.

Propriétés

Cette section décrit les propriétés de l’interface d’application.

Propriété Description
Fenêtres
Permet aux utilisateurs d’accéder aux fenêtres OneNote ouvertes. Cette propriété permet aux utilisateurs d’énumérer l’ensemble des fenêtres OneNote et de modifier certaines propriétés de fenêtre. Pour plus d’informations, reportez-vous à l’article relatif aux interfaces de fenêtre.
COMAddIns
Renvoie la collection COMAddIns pour OneNote. Cette collection contient tous les compléments COM disponibles dans OneNote. La propriété Count de la collection COMAddins renvoie le nombre de compléments COM disponibles. Pour plus d’informations, reportez-vous à l’article relatif à l’objet COMAddIns.
LanguageSettings
Permet d’accéder à certaines API pour modifier les paramètres de langue commune de OneNote.

Événements

Cette section décrit les événements de l’interface d’application.

Attention

Actuellement, les événements ne peuvent pas être ajoutés dans le code géré.

Événement OnNavigate

Valeur Description
Description
Permet à l’utilisateur d’affecter une fonction à appeler lorsqu’il s’éloigne de l’emplacement OneNote en cours dans l’interface utilisateur OneNote.
Syntaxe
Event OnNavigate (
);

Méthode OnHierarchyChange

Valeur Description
Description
Permet à l’utilisateur d’affecter une fonction à appeler à tout moment en cas de modifications de hiérarchie OneNote (par exemple, ajout ou suppression de pages, ou déplacement de sections). Les modifications de hiérarchie sont regroupées. De cette façon, si plusieurs modifications se produisent en même temps ou presque, OneNote déclenche l’événement une seule fois.
Syntaxe
Event OnHierarchyChange (
BSTR bstrActivePageID);
Paramètres
bstrActivePageID : transmet l’ID OneNote de la page active.

Voir aussi