1

到目前为止,我已经能够通过以下方式以编程方式附加文件:

Private Sub AttachmentFile()
Dim oLook As Object
Dim oMail As Object
Dim FD As Object
Dim vrtSelectedItem As Variant

Set oLook = CreateObject("Outlook.Application")
Set oMail = oLook.CreateItem(0)
Set FD = Excel.Application.FileDialog(3)

With oMail

    FD.AllowMultiSelect = True
    FD.Filters.Clear
    FD.Filters.Add "All Files", "*.*"
    FD.InitialFileName = "\\ad\dfs\Shared Data\"

    If FD.Show = True Then
        For Each vrtSelectedItem In FD.SelectedItems
        .Attachments.Add vrtSelectedItem
        Next
    End If
    .Display
    End With
    Set FD = Nothing
    Set oMail = Nothing
    Set oLook = Nothing
End Sub

现在电子邮件已创建并且我可以从指定的文件夹中选择文件,我正在尝试将邮件项目的主题更改为附件的名称,同时将_(下划线)替换为|(管道符号)。

这是我现在的工作代码。我还在 Outlook 中使用正确的字体和默认签名的图像在电子邮件中添加了签名。

Private Sub SubNBodyNTo()
Dim myInspector As Outlook.Inspector
Dim MItem As MailItem
Dim myAttachments As Outlook.Attachments

Set myInspector = Application.ActiveInspector
If Not TypeName(myInspector) = "Nothing" Then
    If TypeName(myInspector.CurrentItem) = "MailItem" Then
        Set MItem = myInspector.CurrentItem
        Set myAttachments = MItem.Attachments
        MItem.Subject = myAttachments.Item(1).DisplayName

        MItem.Subject = Replace(MItem.Subject, "_", " | ")
        MItem..HTMLBody = MItem.Subject & " Is attached for your approval." & "<br>" & MItem.HTMLBody
        MItem.To = "person@email.com"
        MItem.CC = "OtherPeople@email.com"

    End If
End If
End Sub
4

1 回答 1

0
Private Sub SubNBodyNTo()
Dim myInspector As Outlook.Inspector
Dim MItem As MailItem
Dim myAttachments As Outlook.Attachments

Set myInspector = Application.ActiveInspector
If Not TypeName(myInspector) = "Nothing" Then
    If TypeName(myInspector.CurrentItem) = "MailItem" Then
        Set MItem = myInspector.CurrentItem
        Set myAttachments = MItem.Attachments
        MItem.Subject = myAttachments.Item(1).DisplayName

        MItem.Subject = Replace(MItem.Subject, "_", " | ")
        MItem..HTMLBody = MItem.Subject & " Is attached for your approval." 
& "<br>" & MItem.HTMLBody
        MItem.To = "person@email.com"
        MItem.CC = "OtherPeople@email.com"

    End If
End If
End Sub
于 2018-06-08T17:35:31.997 回答