Evernote et VBA – Episode 6

Retour de la saga Evernote ! Simon, visiteur du blog, demande s’il est possible de créer une note avec des tags (mots-clefs), en VBA bien sûr. Hé oui, c’est possible, lisez la suite pour savoir comment faire !
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 (vous aurez besoin du VBA présenté dans ces articles) :
- Evernote et VBA – Episode 1
- Evernote et VBA – Episode 2
- Evernote et VBA – Episode 3
- Evernote et VBA – Episode 4
- Evernote et VBA – Episode 5
Le code
Dans cet article, on va simplement créer des tags (pas de note). La méthode est finalement assez simple, ajoutez cette portion de code dans votre module de classe
EvernoteClient
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
' --- ' EVERNOTE - CREATION DE TAGS ' --- ' Function CreerTags(ByVal strTags As String) As Boolean ' Quelques variables Dim varTags As Variant Dim varTag As Variant ' Instance d'Evernote On Error GoTo CreerTagsErr If Not Me.Connecter() Then CreerTags = False Exit Function End If ' Les tags varTags = Split(strTags, ",") For Each varTag In varTags ' Vérifier si le tag existe avant de le créer Set tag = Me.Evernote.GetTagByName(varTag) If tag Is Nothing Then Me.Evernote.CreateTag varTag End If Next ' Terminé ! CreerTags = True Exit Function CreerTagsErr: CreerTags = False Exit Function End Function |
Tester
Ajoutez également, dans un module standard cette fois, la procédure suivante, en remplaçant la chaîne strTags
par vos propres mots-clefs, séparés par des virgules :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
' --- ' TEST DE CREATION DE TAGS EVERNOTE EN VBA ' --- ' Sub TestTags() Dim ec As EvernoteClient ' Une instance du client EvernoteNote Set ec = New EvernoteClient ' Identifiants ec.Utilisateur = EN_UTILISATEUR ec.MotDePasse = EN_MOTDEPASSE ' Création de tags ec.CreerTags "alpha,bravo,charlie" ' On ferme ! Set ec = Nothing End Sub |
Exécutez ce bout de code, puis démarrez Evernote. Vos nouveaux tags devraient y figurer !
Compléments
- EDIT: Avant de créer un tag, on vérifie d’abord si celui-ci existe déjà. Le principe consiste à appeler la méthode
GetTagByName()
, qui renvoie un objet un objetenapiLib.Tag
valide, si un tag existe déjà dans Evernote avec le nom fourni. La méthode renvoieNothing
dans le cas contraire. - On peut ensuite invoquer la méthode
CreateTag
pour créer un tag. - Cette méthode envoie un objet
enapiLib.Tag
. Lors de la création d’un tag, vous pourriez récupérer celui-ci pour le manipuler ultérieurement (ce qui n’a pas d’intérêt ici). Il faudrait remplacer la ligneec.CreerTags
plus haut de cette manière :
1 2 |
Dim tg As enapiLib.tag ... Set tg = Me.Evernote.CreateTag(varTag) MsgBox tg.Name & " " & tg.NeedsSync |
- L’objet
Tag
a d’autres méthodes et propriétés qui permettent de créer des « sous-tags » (SubTags) : il est possible de créer des tags imbriqués ou arborescents (comme vous le feriez manuellement dans Evernote).
Simon > Hi Simon! Next part (tomorrow) is about manipulating Evernote tags. Last part (on Saturday) will mix notes and tags.
Thanks Hervé, very useful! I look forward to the next part- adding the tags to a note…