Evernote et VBA – Episode 2
Semaine spéciale Evernote dans le Grenier self-access.com ! Cet article fait suite à celui intitulé Evernote et VBA – Episode 1 qui affichait des vos classeurs et vos notes Evernote.
Aujourd’hui, pas grand chose de spectaculaire : nous allons préparer une classe VBA pour « encapsuler » l’accès à l’application Evernote, et pour éviter de réécrire 30 fois les mêmes choses plus tard.
Objectif
L’objectif de notre classe EvernoteClient
est pour l’instant :
- De stocker (le temps d’une exécution) les identifiants de connexion à Evernote.
- De gérer la connexion.
Le code
- Dans votre base de données, créez un module de classe (attention : pas un module standard).
- Recopiez-y le code suivant :
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 65 |
Option Compare Database Option Explicit ' Variables de classe Private m_strUtilisateur As String Private m_strMotDePasse As String Private m_enApp As enapiLib.Evernote ' --- ' CONSTRUCTEUR / DESTRUCTEUR ' --- ' Private Sub Class_Initialize() Set m_enApp = Nothing End Sub Private Sub Class_Terminate() Set m_enApp = Nothing End Sub ' --- ' PROPRIETES ' --- Property Let Utilisateur(ByVal strUtilisateur As String) m_strUtilisateur = strUtilisateur End Property Property Get Utilisateur() As String Utilisateur = m_strUtilisateur End Property Property Let MotDePasse(ByVal strMotDePasse As String) m_strMotDePasse = strMotDePasse End Property Property Get MotDePasse() As String MotDePasse = m_strMotDePasse End Property Property Get Evernote() As enapiLib.Evernote Set Evernote = m_enApp End Property ' --- ' METHODES ' --- ' --- ' CONNEXION ' --- Function Connecter() As Boolean ' Est-on déjà connecté ? If Not (Me.Evernote Is Nothing) Then Connecter = True Exit Function End If ' Connexion On Error Resume Next Set m_enApp = New enapiLib.Evernote m_enApp.Login Me.Utilisateur, Me.MotDePasse, "" ' Valeur de retour Connecter = (Err.Number = 0) End Function |
Explications
Comme vous le voyez, cette classe ne fait pas encore grand chose :
- La partie haute de la classe déclare les variables privées qui serviront à la gestion interne.
- Vient ensuite une série de propriétés
Get/Let
qui permettent l’accès aux variables privées. - Et enfin, une méthode
Connecter()
pour ouvrir la connexion. La fonction renvoieTrue
si tout s’est bien passé.
Tester
Voici une petite procédure (à recopier cette fois dans un module standard), pour tester si tout marche bien :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
' --- ' TEST DE CONNEXION EVERNOTE ' --- ' Sub TestEvernoteSimple() Dim ec As EvernoteClient ' Instance d'Evernote Set ec = New EvernoteClient ' Identifiants ec.Utilisateur = EN_UTILISATEUR ec.MotDePasse = EN_MOTDEPASSE ' On teste ! MsgBox "Résultat de la connexion : " _ & ec.Connecter(), vbInformation ' Et on libère... ;-) Set ec = Nothing End Sub |
Vous pouvez l’exécuter en plaçant le curseur à l’intérieur du bloc Sub / End Sub
, puis en cliquant sur l’icône Exécuter Sub/UserForm. Vous devriez obtenir ceci :
Apuka patienter jusqu’au prochain épisode !