Se connecter avec
S'enregistrer | Connectez-vous

Macro dans outlook

Dernière réponse : dans Programmation
Partagez

Bonjour

Voila mon souci, j'utilise outlook XP 2002 SP3 au boulot et j'ai besoin de pouvoir imprimer la liste des pièces jointes en même temps que mon message.
Cela fonctionne très bien en rtf ou brut mais pas en html.
J'ai trouvé cela sur internet :

-----------------------------------

Sub print_attachment_html()

Dim myOlApp As New Outlook.Application
Dim myOlExp As Outlook.Explorer
Dim myOlSel As Outlook.Selection
Dim myOlItm As Outlook.MailItem
Dim myAttNames As String
Dim fs, f, s

Set myOlExp = myOlApp.ActiveExplorer
Set myOlSel = myOlExp.Selection

For x = 1 To myOlSel.Count
Set myOlItm = myOlSel.Item(x)
If myOlItm.BodyFormat = olFormatHTML Then
If InStr(1, myOlItm.Body, "Pièces jointes : ") = 0 Then
If myOlSel.Item(x).Attachments.Count > 0 Then
myAttNames = ""

For i = 1 To myOlItm.Attachments.Count
' boucle pour incrémenter les infos sur les pièce
jointe

myOlItm.Attachments.Item(i).SaveAsFile
"C:\tempattach\" & myOlItm.Attachments(i).FileName
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile("C:\tempattach\" &
myOlItm.Attachments(i).FileName)
' ajoute le nom de la pièce jointe
myAttNames = myAttNames & i & " : " & f.Name
' ajoute au message la taille des pièces jointes
myAttNames = myAttNames & " (" & f.Size & " bytes)"
' ajoute le type de fichier
myAttNames = myAttNames & " - " & f.Type & " -"
'termine l'édition des propriétés de la pièce jointe
et passe à la suivante
myAttNames = myAttNames & Chr(13)
'supprime la pièce jointe du disque dur
f.Delete
Next i
myAttNames = Chr(13) & "Pièces jointes : " & Chr(13) &
Chr(13) & myAttNames
myOlItm.Body = myOlItm.Body & Chr(13) & myAttNames
myOlItm.Save
myOlItm.PrintOut
Else
myOlItm.PrintOut
End If
Else: myOlItm.PrintOut
End If
Else: myOlItm.PrintOut
End If
Next x

End Sub

----------------
MAIS je n'y connais absolument rien en macro :cry: 
Alors, j'ai fait tout ce qu'on m'a dit mais cela ne fonctionne pas, il me dit "sub incorrect..."

Si quelqu'un peut m'aider, je voudrais envoyer des beaux messages, et pouvoir imprimer la liste des pièces jointes envoyées !

Merci d'avance :hello: 

Autres pages sur : macro outlook

Mais c'est bon, je viens de trouver cela, et je peux imprimer ma liste de PJ :
Pour info :
Sub Print_HTML_PJ()
' *** imprimer les noms des pièces jointes des messages en HTML ***
' *** Vous en avez rêvé, Anacoluthe l'a fait ;-) ***
' *** modifié le 31/11/2004 par Isabelle Prawitz ***
Dim ListePJ As String
For Each oMessage In ActiveExplorer.Selection
If oMessage.BodyFormat = olFormatHTML And _
oMessage.Attachments.Count > 0 Then
ListePJ = ""
For Each PJ In oMessage.Attachments
ListePJ = ListePJ & PJ.FileName & "<br>"
Next PJ
ListePJ = "Pièces jointes : " & ListePJ
oMessage.HTMLBody = "<font style='font-family: Arial ;font-size: 14pt ;'>" & ListePJ & "</font><br>" & oMessage.HTMLBody
End If
oMessage.PrintOut
Next oMessage
End Sub


Merci quand même
Posez votre question