J'essaie de comprendre comment get une image d'une feuille de calcul dans Excel dans le corps d'un message Outlook. Voici ce que j'ai jusqu'ici:
Il crée l'image à partir du regroupement de données dont j'ai besoin,
copy ci-dessous, et
ouvre le courrier avec le message initial dont j'ai besoin
mais je ne peux pas comprendre comment lier les deux images créées dans le corps de l'email. À l'heure actuelle, je les ai coupés de chaque onglet une fois créé et je les ai simplement collé dans le corps.
Sub EmailDashboards() Dim OutApp As Object Dim outMail As Object Sheets("CAM Dashboard Burdened").Select Range("C1:J47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Range("K36").Select ActiveSheet.Paste Sheets("CAM Dashboard Direct").Select Range("C1:J47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Range("K36").Select ActiveSheet.Paste Sheets("CAM Dashboard Burdened").Select Range("K36").Select With Application .EnableEvents = False .ScreenUpdating = False End With Set OutApp = CreateObject("Outlook.Application") Set outMail = OutApp.CreateItem(0) With outMail .To = "" .CC = "" .BCC = "" .Subject = "CCM EV Dashboard" .Body = "Here are the latest Burdened and Direct EV Dashboards for your area: " .Display End With On Error GoTo 0 With Application .EnableEvents = True .ScreenUpdating = True End With Set outMail = Nothing Set OutApp = Nothing End Sub
En appelant la ligne de code suivante:
ActiveSheet.Paste
vous collez des images sur la feuille Excel, pas dans Outlook.
Vous pouvez essayer d'utiliser le model d'object Word pour get des images collées dans l'object de messagerie. Le model d'object Outlook fournit trois façons principales de travailler les corps d'objects:
Vous pouvez en savoir plus sur toutes ces façons dans le chapitre 17: Travailler avec des éléments d'object .
La méthode Coller de la class Sélection insère le contenu du Presse-papiers à la sélection spécifiée.
De plus, vous pouvez attacher des images à l'article de courrier, les marquer comme cachées, définir une propriété de bas niveau appropriée et les mentionner dans le balisage HTML du corps.
Attachment attachment = newMail.Attachments.Add( @"E:\Pictures\image001.jpg" , OlAttachmentType.olEmbeddeditem , null , "Some image display name" ); ssortingng imageCid = "image001.jpg@123"; attachment.PropertyAccessor.SetProperty( "http://schemas.microsoft.com/mapi/proptag/0x3712001E" , imageCid ); newMail.HTMLBody = Ssortingng.Format( "<body><img src=\"cid:{0}\"></body>" , imageCid );
Découvrez comment intégrer l'image dans le corps html dans c # dans Outlook Outlook pour plus d'informations.