Voir le flux RSS

Oliv-

Le Débogage en VBA

Noter ce billet
par , 30/04/2015 à 10h36 (1120 Affichages)
Bonjour,
Pour progresser en VBA il est nécessaire de connaitre les fonctions de débogage.

Le mode Pas à pas, les espions, la fenêtre exécution, la fenêtre des variables Locales.

Le mode pas à pas ne retourne pas forcement d'erreur, il permet d’exécuter chaque instruction avec une pause pour voir ce qui se passe.

Les vrais erreurs feront stopper le code même sans cela !

Par contre ça permet de voir si un test ou une boucle se fait bien et on peut consulter les variables locales et/ou mettre des espions.

Voici en images

Nom : poindarret.gif
Affichages : 299
Taille : 448,3 Ko

Nom : pasapas.gif
Affichages : 304
Taille : 1,10 Mo

Je vous conseille de lire ces articles ils ne sont pas forcément propre à Outlook mais une grosse partie du VBA est commune à l'ensemble d'office.
http://cafeine.developpez.com/access...ebugprint/#LIV

http://silkyroad.developpez.com/VBA/DebuterMacros

http://dolphy35.developpez.com/article/outlook/vba/

Etant donné qu'Outlook ne comporte pas d'enregistreur de Macro il est plus simple de retrouver le nom de la "propriété" en parcourant les valeurs visibles soit dans
la fenêtre des variables Locales (il faut donc déclare une variable), soit avec les espions et les points d'arrêt.

Voici comment faire, avec l'Email en cours
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Sub babaEmail()
'---------------------------------------------------------------------------------------
' Procedure : babaEmail
' Author    : oliv
' Date      : 22/04/2015
' Purpose   :
'---------------------------------------------------------------------------------------
'
    Dim Oitem As Object
    Dim objMail As Outlook.MailItem
    Dim i

    Set Oitem = ActiveInspector.CurrentItem    'désigne l'élément actif càd le mail le contact ou rdv...
    If Oitem.Class = olMail Then
        'ici on fait un STOP pour continuer en pas à pas
        Set objMail = Oitem
        STOP
        '############ ici vous pouvez ouvrir la fenetre varaible locales et parcourir ObjMAIL#######
        ' continuez avec F5 ou F8 en pas à pas

        Debug.Print objMail.subject
        Debug.Print objMail.SenderName & " <" & objMail.SenderEmailAddress & ">"
        Debug.Print objMail.To
        Debug.Print objMail.Cc
        Debug.Print objMail.Bcc
        Debug.Print objMail.ReceivedTime
        Dim pj As String
        pj = ""
        'ici on fait un STOP pour continuer en pas à pas
        STOP
        For i = 1 To objMail.Attachments.Count
            pj = objMail.Attachments(i).FileName & ";"
        Next i
        Debug.Print pj
        Debug.Print objMail.Body
        'Debug.Print objMail.HTMLBody
    End If
End Sub

Envoyer le billet « Le Débogage en VBA » dans le blog Viadeo Envoyer le billet « Le Débogage en VBA » dans le blog Twitter Envoyer le billet « Le Débogage en VBA » dans le blog Google Envoyer le billet « Le Débogage en VBA » dans le blog Facebook Envoyer le billet « Le Débogage en VBA » dans le blog Digg Envoyer le billet « Le Débogage en VBA » dans le blog Delicious Envoyer le billet « Le Débogage en VBA » dans le blog MySpace Envoyer le billet « Le Débogage en VBA » dans le blog Yahoo

Mis à jour 19/10/2016 à 18h29 par Oliv-

Catégories
Sans catégorie

Commentaires