Evernote et VBA – Episode 5

Banniere Evernote

Déjà la fin de notre semaine Evernote… Pour clôturer cette série d’articles, il est temps de revenir un peu à Access ! Dans cet article, il sera question de transmettre le contenu d’une table sous forme d’evernote.

Résumé des épisodes précédents

Tout ce qui suit dépend des articles précédents. Pensez à les consulter si vous passez pour la première fois par ici :

Le principe

On dispose d’une table simple, avec des personnes (Nom, Prénom, Email). L’objectif est de lister toutes les personnes de cette table dans une evernote.

Le code

Je suppose que votre base de données contient la classe EvernoteClient qui a été décrite dans les précédents épisodes de la série. Aucun rajout n’est nécessaire sur cette classe, nous pouvons l’exploiter en l’état.

  1. Créez un module standard dans votre base de données.
  2. Recopiez-y la procédure suivante, puis exécutez-la. Vous devriez obtenir ceci dans le classeur par défaut de Evernote :

Important

L’exemple de code ci-dessus fait appel à la bibliothèque DAO (Microsoft DAO Object Library). Cette bibliothèque doit être associée à votre base de données pour que le programme fonctionne.Pour plus de détails sur les références, consultez cette page.

Le code utilise également des fonctions VBA traitées dans des articles précédents : StringFormat() pour formater les chaînes plus clairement, et GetHyperlink() pour extraire les e-mails bruts d’un champ Lien hypertexte.

Explications

Voici les points importants à noter dans la procédure d’exemple :

  1. On utilise un Recordset DAO pour parcourir toute la table et obtenir les nom, prénom et e-mail de chaque personne. Ça, c’est pour la partie Access.
  2. Le corps de la note est créé au format ENML,  par concaténation de portions de code HTML. Si vous avez suivi l’article précédent, on crée seulement le corps de la note (la classe EvernoteClient rajoute l’en-tête et le pied de note automatiquement).
  • Le titre de la note est créé comme en HTML, par les balises <h1></h1>.
  • Le reste de la note est une liste de personnes (balises <ul></ul>)
  • Chaque personne est un élément de liste (balises <li></li>).
  • Chaque email est un lien mailto: (balise <a href="..."></a>).

Ce qui équivaut à générer le corps de note ci-dessous :

Vous aimerez aussi...

3 réponses

  1. Simon dit :

    Excellent- look forward to it!

  2. Hervé Inisan dit :

    Simon > Thanks for your feedback! And yes, it is possible to add tags to a note using code. I will write an article on this at the end of the week (I’m already working on a series of posts on data import that should end on friday).

    Saturday will be fine for an Evernote article 🙂 Stay tuned!

  3. Simon dit :

    Hervé, great articles- nobody else shows how to link to Evernote using VBA! One question- can you add tags using code? I have tried and failed but it looks like it should be possible.

    A bientot

    Simon

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *