J'ai une macro Excel utilisée pour envoyer des e-mails avec des pièces jointes qui sont des classeurs Excel. Parfois, au lieu du fichier joint, il devient un objet incorporé. Cet objet incorporé est ouvert par les utilisateurs de l'entreprise (après avoir cliqué sur le bouton "Vous êtes sur le point d'activer un objet incorporé pouvant contenir des virus ou être nuisible à votre ordinateur.) Il est important de s'assurer qu'il provient d'une source fiable. Voulez-vous continuer? "), Mais pour les personnes extérieures à l'entreprise, l'e-mail semble n'avoir aucune pièce jointe.Pièces jointes s'incrustant
Cela semble se produire de manière aléatoire et uniquement sur certains ordinateurs. Donc, si la liste contient 15 listes de courriels et pièces jointes, cela arrive entre 0 et 15 des courriels. Pour être clair, mon objectif est d'envoyer des courriels avec des pièces jointes régulières. Exécuter Excel 2003, Outlook 2003 et Windows XP.
Sub Email()
Dim P As String
Dim N As String
Dim M As String
Dim Subject As String
Dim Addresses As String
Dim olApp As Outlook.Application
Dim olNewMail As Outlook.MailItem
Application.DisplayAlerts = False
M = ActiveWorkbook.Name
For c = 2 To 64000
If Range("B" & c) = "" Then Exit For
If UCase(Range("E" & c)) = "Y" Then
Workbooks(M).Sheets("Main").Activate
Subject = Range("A" & c)
Addresses = Range("B" & c)
P = Range("C" & c)
N = Range("D" & c)
If Right(P, 1) <> "\" Then P = P & "\"
If Right(N, 4) <> ".xls" Then N = N & ".xls"
Set olApp = New Outlook.Application
Set olNewMail = olApp.CreateItem(olMailItem)
With olNewMail
.Display
.Recipients.Add Addresses
Application.Wait (Now + TimeValue("0:00:01"))
SendKeys ("{TAB}")
.Subject = Subject
.Attachments.Add P + N
.Send
End With
Set olNewMail = Nothing
Set olApp = Nothing
End If
Next c
Range("E2:E65536").ClearContents
Application.DisplayAlerts = True
End Sub