Excel VBA удалить письмо после отправки - PullRequest
0 голосов
/ 14 ноября 2018

может быть, вы сможете помочь мне с кодом VBA.

Я получил код, который отправляется в формате PDF в виде таблицы Excel.Проблема в том, что электронная почта используется многими людьми, а иногда текст является конфиденциальным.Есть ли возможность удалить электронную почту (отправленные и удаленные элементы) после отправки электронной почты?

Использование офиса 2000

Вот мой существующий код.

Sub SendDDocs()
  Dim IsCreated As Boolean
  Dim PdfFile As String, Title As String
  Dim OutlApp As Object
  Dim rng As Range
  Set rng = Range("A1:J103")

  Title = Range("o1")


  Title = Range("o1").Value & " Confidetial"
  PdfFile = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & Title & ".pdf"

  With ActiveSheet
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
  End With

  On Error Resume Next
  Set OutlApp = GetObject(, "Outlook.Application")
  If Err Then
    Set OutlApp = CreateObject("Outlook.Application")
    IsCreated = True
  End If
  OutlApp.Visible = True
  On Error GoTo 0

  With OutlApp.CreateItem(0)

    .Subject = Title
    .To = "email@email.com"
    .CC = "email@email.com"
    .Body = "" & vbLf & vbLf _
          & "a" & vbLf & vbLf _
          & "" & vbLf _
          & Application.UserName & vbLf & vbLf
    .Attachments.Add PdfFile

    Application.Visible = True
    .Display
  End With

Kill PdfFile

  If IsCreated Then OutlApp.Quit

  Set OutlApp = Nothing

End Sub

1 Ответ

0 голосов
/ 14 ноября 2018

Вместо .Display используйте

.DeleteAfterSubmit = True
.Send

, чтобы не сохранять копию в отправленных элементах.

См. Свойство MailItem.DeleteAfterSubmit (Outlook) .

...