Evernote et VBA – Episode 3

Suite de la semaine Evernote ! Dans les épisodes précédents, nous avons d’abord testé Evernote en direct, puis mis en place une classe VBA qui encapsule l’accès à Evernote. Aujourd’hui, nous allons enrichir cette classe pour permettre la création de classeurs dans Evernote.
Si vous avez manqué le début
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 code
Reprenez le module de classe créé dans l’article Evernote et VBA – Episode 2, et ajoutez-y le bloc de code suivant, par exemple sous la fonction Connecter()
:
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 |
' --- ' EVERNOTE - CREATION D'UN CLASSEUR ' --- ' Function CreerClasseur( _ ByVal strNomClasseur As String, _ ByVal ntTypeClasseur As enapiLib.NotebookType_t) _ As Boolean ' Quelques variables Dim nb As enapiLib.Notebook ' Instance d'Evernote If Not Me.Connecter() Then CreerClasseur = False Exit Function End If ' Classeur On Error Resume Next Set nb = Me.Evernote.CreateNotebook( _ ntTypeClasseur, _ strNomClasseur) CreerClasseur = (Err.Number = 0) ' Un peu de ménage... Set nb = Nothing End Function ' --- ' OBTENIR UN CLASSEUR PAR SON NOM ' --- ' ' Note : On suppose que la connexion est établie ' Function ExtraireClasseur( _ ByVal strClasseur As String) _ As enapiLib.Notebook ' Le classeur Dim nb As enapiLib.Notebook ' On parcourt les classeurs ' jusqu'à trouver une concordance ' sur le nom For Each nb In Me.Evernote.Notebooks If LCase(nb.Name) = LCase(strClasseur) Then Set ExtraireClasseur = nb Exit Function End If Next Set ExtraireClasseur = Nothing End Function |
Globalement, la fonction CreerClasseur()
encapsule la méthode Evernote.CreateNotebook()
.
Vous devez lui fournir :
- le nom du classeur à créer
- le type de classeur ; dans Evernote, un classeur peut être synchronisé dans le cloud (
SynchronizedNotebook
) ou seulement stocké sur votre ordinateur (LocalNotebook
).
La fonction CreerClasseur()
renvoie True
si la création s’est bien effectuée. Sinon, elle renvoie… devinez ! 🙂
Une deuxième fonction, ExtraireClasseur()
permet de récupérer une instance de classeur à partir de son nom. Elle ne sert pas pour l’instant, mais elle sera utilisée dans les prochains articles.
Tester !
Pour tester tout ça, recopiez le code qui suit dans un module standard, et exécutez-le. Vous devriez obtenir 2 nouveaux classeurs dans votre Evernote (l’un local, l’autre synchronisé dans le nuage).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
' --- ' EVERNOTE - CREATION DE CLASSEURS ' --- ' Sub TestEvernoteClient() 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'un classeur local ec.CreerClasseur "Classeur LOCAL", LocalNotebook ' Création d'un classeur synchronisé ec.CreerClasseur "Classeur CLOUD", SynchronizedNotebook ' On ferme ! Set ec = Nothing End Sub |