Evernote et VBA – Episode 8
Où il est question de créer des notes avec tags dans Evernote. Et en VBA !
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
- Evernote et VBA – Episode 6
- Evernote et VBA – Episode 7
Des notes avec tags
Maintenant que les tags Evernote n’ont plus de secret pour vous, il est possible de créer des notes en leur associant directement des tags. Recopiez 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
' --- ' EVERNOTE - CREATION D'UNE NOTE AVEC TAGS ' --- ' Function CreerNoteAvecTags( _ ByVal strTitre As String, _ ByVal strContenu As String, _ Optional ByVal strClasseur As String = "", _ Optional ByVal strTags As String = "") _ As Boolean ' Quelques variables Dim nb As enapiLib.Notebook Dim nt As enapiLib.note Dim varTags As Variant Dim varTag As Variant Dim tags As enapiLib.tags ' Instance d'Evernote If Not Me.Connecter() Then CreerNoteAvecTags = False Exit Function End If ' Obtenir le classeur, s'il a été spécifié On Error GoTo NouvelleNoteErr If strClasseur <> "" Then Set nb = Me.ExtraireClasseur(strClasseur) End If If nb Is Nothing Then Set nb = Me.Evernote.DefaultNotebook End If ' Créer les tags si nécessaire If strTags <> "" Then Me.CreerTags strTags ' Encapsuler le contenu de la note ' par les balises XML nécessaires strContenu = EnteteNote() & strContenu & PiedNote() ' On crée la note Set nt = Me.Evernote.CreateNote(strTitre, strContenu) ' Les tags varTags = Split(strTags, ",") For Each varTag In varTags ' Obtenir les objets Tag Set tags = Evernote.GetMatchingTags(Trim(varTag), 100) nt.AddTags tags Next ' Le classeur nt.Notebook = nb ' Un peu de ménage... Set nt = Nothing Set nb = Nothing CreerNoteAvecTags = True Exit Function NouvelleNoteErr: CreerNoteAvecTags = False Exit Function End Function |
Tester le code
Et voici un petit bout de code, à recopier cette fois dans un module standard, puis à exécuter pour tester tout ça. Normalement, une note devrait figurer dans votre carnet principal Evernote, avec les tags Alpha
, Bravo
et Access
(créés automatiquement s’ils n’existent pas).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
' --- ' EVERNOTE - CREATION DE NOTE AVEC TAGS ' --- ' Sub TestNoteTags() Dim ec As EvernoteClient ' Une instance du client EvernoteNote Set ec = New EvernoteClient ' Identifiants ec.Utilisateur = EN_UTILISATEUR ec.MotDePasse = EN_MOTDEPASSE ' Création d'une note dans le classeur par défaut Debug.Print ec.CreerNoteAvecTags( _ "Evernote, Hello World!", _ "Ceci est ma première evernote postée par Access. Avec des tags...", _ "", _ "Alpha,Bravo,Access") ' On ferme ! Set ec = Nothing End Sub |
Simon > Couldn’t check on another PC yet, but it might be related to 32/64 bits version. I will post here if I have more information.
Hervé
Sorry, to clarify- Win 7 64-bit change was moving from Office 32-bit to Office 64-bit, so should not make any difference, but just thought I’d mention it. OS stayed the same.
Thanks
Hervé
Has something changed with Evernote? I cannot connect now- if I run TestEvernoteSimple, I get « ActiveX component can’t create object ». Have they changed enapi.dll with a recent upgrade, or is the problem with my machine (recently changed to Win 7 64-bit)?
Many thanks
Simon
Simon > You’re welcome! 🙂
Hervé
This is fantastic- many thanks!!