placement d'une pièce jointe dans un fichier outlook
Tags :
Dernière réponse : dans Programmation
bonjour j'aimerais mette ma pièce jointe dans le corps du message a une place précise
SI quelqu'un sait comment faire merci d'avance
j'ai essayé le code suivant mais ma pièce joite est a la fin du message alors que j'aimerais qu'il soit entre deux ligne bien précise.
Merci d'avance a ceux qui pourront m'aider
SI quelqu'un sait comment faire merci d'avance
j'ai essayé le code suivant mais ma pièce joite est a la fin du message alors que j'aimerais qu'il soit entre deux ligne bien précise.
Merci d'avance a ceux qui pourront m'aider
Set MonOutLook = CreateObject("Outlook.Application")
Set MonMessage = MonOutLook.Createitem(0)
MonMessage.to = adresse
MonMessage.cc = adressecc
MonMessage.bcc = ""
MonMessage.Subject = Test
MonMessage.Attachments.Add "D:\Test.xls"
'On écrit le corps du message
'Le corps du message est divisé en X lignes :
Corps = b3
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b9
'endroit ou j'aimerais placer l'icone de ma pièce jonte
'essau de code mais sans résultats
Corps = Corps & attachement
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b10
Corps = Corps & Chr(13) & Chr(10)
MonMessage.body = Corps
MonMessage.Send
Autres pages sur : placement piece jointe fichier outlook
Lassé par la pub ? Créez un compte
- | Alerter
- | Alerter
- | Alerter
Contenus similaires
- Passer de outlook express à outlook - Forum
- Passer d'outlook express à outlook - Forum
- Fichier messages outlook express - Forum
- Outil de recherche outlook - Forum
Ligne 7 de ton code.
La méthode Add attend 4 paramètres. Les 3 derniers sont facultatifs. Or justement, le troisième paramètre, Position, est celui qui t'intéresse.
Il me semble qu'il faut que le corps du message doit exister pour que tu puisses y insérer correctement ta PJ. Vérifie. Et dis-nous
EDIT: http://msdn2.microsoft.com/en-us/library/bb175153.aspx \
/
La méthode Add attend 4 paramètres. Les 3 derniers sont facultatifs. Or justement, le troisième paramètre, Position, est celui qui t'intéresse.
Il me semble qu'il faut que le corps du message doit exister pour que tu puisses y insérer correctement ta PJ. Vérifie. Et dis-nous
EDIT: http://msdn2.microsoft.com/en-us/library/bb175153.aspx \
/ - | Alerter
- | Alerter
Et il fait 50 caractères ton corps de message ?
Essaye avec 1, 10, 100, etc.
Et fait varier les autres paramètres, surtout AttachmentType.
Enfin, bref. Essaye. Tourne le problème dans tous les sens.
(Bah, alors darkspoilt ? Je t'ai connu plus débrouillard
)
(Désol', je n'ai pas Outlook pour tester. Mais comme je dis comme MSDN...
)
Essaye avec 1, 10, 100, etc.
Et fait varier les autres paramètres, surtout AttachmentType.
Enfin, bref. Essaye. Tourne le problème dans tous les sens.
(Bah, alors darkspoilt ? Je t'ai connu plus débrouillard
)(Désol', je n'ai pas Outlook pour tester. Mais comme je dis comme MSDN...
) - | Alerter
- | Alerter
- | Alerter
- | Alerter
- | Alerter
- | Alerter
VBA dans quelle application ?
Tu es dans Excel ou dans Access par exemple. Donc l'objet Application, c'est Excel.Application ou Access.Application.
Toi, tu as besoin d'un objet Outlook.Application.
Prière de faire un
Tu es dans Excel ou dans Access par exemple. Donc l'objet Application, c'est Excel.Application ou Access.Application.
Toi, tu as besoin d'un objet Outlook.Application.
Prière de faire un
Dim MonOutlookMessage As Outlook.MailItem Set MaOutLookApplication = CreateObject("Outlook.Application" ) Set MonOutlookMessage = MaOutLookApplication .CreateItem(olMailItem)
- | Alerter
Ma PJ est toujours a la fin alors que je le demande de le mettre au début
Je ne comprends vraiment pas
Je ne comprends vraiment pas
Dim MonOutlook As Outlook.MailItem
Dim MesAttachements As Outlook.Attachments
Dim MaOutLookApplication As Object
'Création du message mail
Set MaOutLookApplication = CreateObject("Outlook.Application")
Set MonOutlookMessage = MaOutLookApplication.CreateItem(olMailItem)
Set MesAttachements = MonOutlookMessage.Attachments
'Remplissage du mail avec les données "adresse", "corps" , "signature" et "sujet"
MonOutlookMessage.to = adresse
MonOutlookMessage.cc = adressecc
MonOutlookMessage.bcc = ""
MonOutlookMessage.Subject = "toto"
'On écrit le corps du message
'Le corps du message est divisé en X lignes :
Corps = b3
Corps = Corps & Chr(13) & Chr(10) 'Chr(13) & Chr(10) = Touche ENTER
Corps = Corps & b4
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b5
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b6
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b7
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b8
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b9
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b10
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b11
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b12
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b13
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b14
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b15
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b16
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b17
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b18
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b19
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b20
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b21
Corps = Corps & Chr(13) & Chr(10)
Corps = Corps & b22
Corps = Corps & Chr(13) & Chr(10)
MonOutlookMessage.body = Corps
MonOutlookMessage.body = Corps
MesAttachements.Add "D:\Test.xls", olByValue, 1
MonOutlookMessage.Send
Set MonOutlook = Nothing
- | Alerter
Tu vas me mettre des vbCrLf à la place de tes Chr(13) & Chr(10). Oui, je sais ça ne résoudra pas tes problèmes.
Regarde, tes lignes 19 à 62. N'est pas plus clair ?
Comme je n'ai pas Outlook, je tape un peu au hasard. Mais ...
CRLF, comme séparateur de message, ce n'est standard que sous Windows. Or la messagerie électronique a été inventée sous UNIX. Essaie avec vbLf (chr(10)) seulement, voire sans sauts de ligne du tout.
Bref, qu'est-ce que ça donne si ton corps de message ne contient que "AZERTYUIOP" et si ton attachement est à la position 5 ?
Regarde, tes lignes 19 à 62. N'est pas plus clair ?
MonOutlookMessage.body = b3 & vbCrLf & _
b4 & vbCrLf & _
b5 & vbCrLf & _
b6 & vbCrLf & _
b7 & vbCrLf & _
b8 & vbCrLf & _
b9 & vbCrLf & _
b10 & vbCrLf & _
b11 & vbCrLf & _
b12 & vbCrLf & _
b13 & vbCrLf & _
b14 & vbCrLf & _
b15 & vbCrLf & _
b16 & vbCrLf & _
b17 & vbCrLf & _
b18 & vbCrLf & _
b19 & vbCrLf & _
b20 & vbCrLf & _
b21 & vbCrLf & _
b22 & vbCrLf
b4 & vbCrLf & _
b5 & vbCrLf & _
b6 & vbCrLf & _
b7 & vbCrLf & _
b8 & vbCrLf & _
b9 & vbCrLf & _
b10 & vbCrLf & _
b11 & vbCrLf & _
b12 & vbCrLf & _
b13 & vbCrLf & _
b14 & vbCrLf & _
b15 & vbCrLf & _
b16 & vbCrLf & _
b17 & vbCrLf & _
b18 & vbCrLf & _
b19 & vbCrLf & _
b20 & vbCrLf & _
b21 & vbCrLf & _
b22 & vbCrLf
Comme je n'ai pas Outlook, je tape un peu au hasard. Mais ...
CRLF, comme séparateur de message, ce n'est standard que sous Windows. Or la messagerie électronique a été inventée sous UNIX. Essaie avec vbLf (chr(10)) seulement, voire sans sauts de ligne du tout.
Bref, qu'est-ce que ça donne si ton corps de message ne contient que "AZERTYUIOP" et si ton attachement est à la position 5 ?
- | Alerter
- | Alerter
- | Alerter
- | Alerter
- | Alerter
- | Alerter
- | Alerter
- | Alerter
- | Alerter
Ah. Là ça devient très agaçant.
Bon, c'est la preuve que VB/VBA n'est pas en cause.
Bon énervons-nous : Teste tous les cas possibles de la propriété MailItem.BodyFormat.
Exemple :
Alors ?
Bon, c'est la preuve que VB/VBA n'est pas en cause.
Bon énervons-nous : Teste tous les cas possibles de la propriété MailItem.BodyFormat.
Exemple :
(Voir si on fait sauter les lignes 6 à 10 ou pas.)
Dim msg As Outlook.MailItem Set msg = CreateObject("Outlook.Application").CreateItem(olMailItem) msg.to = "darkspoilt@darkspoilt.net" msg.Subject = "Ca va marcher, oui ou m**** !?" msg.BodyFormat = olFormatHTML msg.body = b3 & vbCrLf & b4 & vbCrLf & b5 & vbCrLf & b6 & vbCrLf & _ b7 & vbCrLf & b8 & vbCrLf & b9 & vbCrLf & b10 & vbCrLf & _ b11 & vbCrLf & b12 & vbCrLf & b13 & vbCrLf & b14 & vbCrLf & _ b15 & vbCrLf & b16 & vbCrLf & b17 & vbCrLf & b18 & vbCrLf & _ b19 & vbCrLf & b20 & vbCrLf & b21 & vbCrLf & b22 & vbCrLf msg.HTMLBody = "<html><body>Le fichier, là : >>> <<< <br/>" & _ b3 & "<br/>" & b4 & "<br/>" & b5 & "<br/>" & b6 & "<br/>" & _ b7 & "<br/>" & b8 & "<br/>" & b9 & "<br/>" & b10 & "<br/>" & _ b11 & "<br/>" & b12 & "<br/>" & b13 & "<br/>" & b14 & "<br/>" & _ b15 & "<br/>" & b16 & "<br/>" & b17 & "<br/>" & b18 & "<br/>" & _ b19 & "<br/>" & b20 & "<br/>" & b21 & "<br/>" & b22 & "</body></html>" msg.Attachments.Add "D:\Test.xls", olByValue, 33 msg.Send
Alors ?
- | Alerter
- | Alerter
- | Alerter
- | Alerter
Dites par hasard c'est possible votre truc... Moi j'en doute sérieusement. Le corps d'un message c'est du texte ou de l'HTML, et en aucun cas il n'est censé contenir un fichier (sauf à plat en mode texte ou autre). Prends outlook et essaie de mettre un fichier en direct dans le message c'est impossible, il va toujours se mettre dans la partie attachement.
Alors je me demande si tu chercherais pas à intégrer une partie de ton tableau Excel dans le mail...
Alors je me demande si tu chercherais pas à intégrer une partie de ton tableau Excel dans le mail...
- | Alerter
Freeman, Outlook ne fait que te "présenter" ce qui n'est qu'un fichier texte plat. (cf. rfc 821)
Le protocole SMTP d'envoi de fichiers ne fait pas la différence entre du bête texte et un format alambiqué avec pièce jointe au milieu.
A ce propos, il peut être intéressant d'envoyer différents mails-avec-pièce-jointe-au-milieu-ou-pas et de les récupérer en texte brut avec un bête telnet 110 pour "voir" la syntaxe en texte pur.
Le protocole SMTP d'envoi de fichiers ne fait pas la différence entre du bête texte et un format alambiqué avec pièce jointe au milieu.
A ce propos, il peut être intéressant d'envoyer différents mails-avec-pièce-jointe-au-milieu-ou-pas et de les récupérer en texte brut avec un bête telnet 110 pour "voir" la syntaxe en texte pur.
- | Alerter
Lassé par la pub ? Créez un compte