IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Imprimer une partie de mail


Sujet :

VBA Outlook

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut Imprimer une partie de mail
    Voilà, je cherche à imprimer via une macro VBA la première page uniquement du mail sélectionné.
    J'avoue que j'ai du mal avec l'absence de l'enregistreur de macro...

    Pour le moment j'arrive juste à ouvrir le mail sélectionné, ou l'imprimer en entier.. existe-t-il des paramètres (from:= et to:=) comme pour les printOut de Excel ??

    Merci de votre aide!

    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
    Sub printMail()
     
    Dim n As Long, i As Long
    Dim item As Object, fitem As Object
     
    Set Inbox = ActiveExplorer.CurrentFolder
    If Inbox.Name <> "Boîte de réception" Then
    Exit Sub
    End If
     
    n = ActiveExplorer.Selection.Count
    If n = 0 Then Exit Sub
     
    For i = 1 To n
      Set item = ActiveExplorer.Selection.item(1)
     
      'pour imprimer
      item.PrintOut
     
      'pour l'afficher
      item.Display
     
    Next i
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Je viens de faire un essai et avec Word comme éditeur de mail par défaut, je ne suis pas parvenu à imprimer que la première page, avec Outlook, la méthode Printout imprime tout le document.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Ok d'après ce que j'ai pu lire, les programmeurs de Outlook n'auraient pas intégré d'arguments à printOut ?? (bizzare puisqu'on peut choisir le nombre de page dès lors qu'on fait un display (Ctrl+O)) en revanche si on se contente de sélectionner le mail dans la liste, l'impression ne donne pas le choix à l'utilisateur et imprime tout..

    Je viens de faire l'essai en pilotant word depuis outlook et même avec:

    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
     
    ...
       Set wordapp = CreateObject("Word.Application")
       Set wordDoc = wordapp.Documents.Open("S:\Stagiaires\test.doc")
      wordapp.Visible = True
     
     
     With wordapp.Selection
     .TypeParagraph
     .TypeText Text:=item.SenderName
     .TypeParagraph
     .TypeText Text:=item.Body
     .TypeParagraph
     End With
     
    Next i
     
    wordapp.PrintOut Pages:="1"
    ça imprime tout... qqu'un a une idée???

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Pour Word, ce ne serait plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.ActiveWindow.PrintOut Range:=wdPrintFromTo, from:="1", to:="1"
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Oui j'avais essayé comme ça au début (code récupéré par l'enregistreur de macro WORD), mais j'ai une erreur:

    ----------------------------------------------------
    Erreur d'exécution 5148.
    Le nombre doit être compris entre -32765 et 32767.
    ----------------------------------------------------

    avec la variable wdPrintFromTo = vide


    C'est étonnant.. est-ce que tu crois que le probleme vient du fait que je n'ai pas encore enregistré le Word lors de la demande d'impression?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Apparemment ce serait un bug de Windows...

    cf.
    http://www.codeguru.com/forum/showth...hreadid=255095

    d'autres idées?

Discussions similaires

  1. comment faire pour imprimer une partie de ma page
    Par hbar01 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/04/2008, 03h31
  2. [Etat] imprimer une partie d'un état selon critères
    Par The_Super_Steph dans le forum IHM
    Réponses: 1
    Dernier message: 13/06/2007, 17h46
  3. Code HTML qui imprime une partie d'une page
    Par derval2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/01/2007, 12h34
  4. [VBA-E] imprimer une partie de feuille ?
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2005, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo