Copier l'image dans Excel vers Outlook body

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:

  1. Corps – une string représentant le corps de text clair de l'élément Outlook.
  2. HTMLBody – une string représentant le corps HTML de l'élément spécifié.
  3. Éditeur de mots – le model d'object de document Microsoft Word du message affiché. La propriété WordEditor de la class Inspector renvoie une instance de la class Document du model d'object Word que vous pouvez utiliser pour configurer le corps du message.

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.