Добавьте имя файла в строку темы электронного письма и отправьте электронное письмо на Последнее изменение / Автор - PullRequest
0 голосов
/ 30 января 2019

У меня есть документ Word, в котором я поместил CommandButton в документ, чтобы пользователь мог отправить электронное письмо Outlook с сообщением, но я хочу, чтобы Тема электронного письма была именем открытого активного документа Word., поэтому тема будет переменной в зависимости от имени активного документа и электронной почты автора этого активного документа Wd.

Чтобы определить имя последнего изменения, созданное автором / на основе этого имени, преобразовать его в firstname.secondname@xyz.ro?Автор отправит электронное письмо своему начальнику, и этот документ будет рассмотрен этим человеком через CommandButton.

Public Sub Mail()
    Dim LastAuthor As String
        LastAuthor = ActiveDocument.BuiltInDocumentProperties("last Author")

        Dim Email As String
            Email = Replace(LastAuthor, " ", ".") & "@btrl.ro"


    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
        .Display
        .Signature = "HTMLbody"
        .To = Email
        .CC = ""
        .BCC = ""
        .Subject = ActiveDocument.Name
        '.Body = "AVIZAT. Multumesc mult"
        '.Attachments.Add ActiveDocument.FullName
        ' You can add other files by uncommenting the following line.
        '.Attachments.Add ("C:\test.txt")
        ' In place of the following statement, you can use ".Display" to
        ' display the mail.
        .HTMLbody = "AVIZAT" & "<br>" & .HTMLbody

        Dim objDoc As Document
        Set objDoc = ActiveDocument
        objDoc.ExportAsFixedFormat _
        OutputFileName:=Replace(objDoc.FullName, ".docx", ".pdf"), _
        ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, _
        Range:=wdExportAllDocument, Item:=wdExportDocumentContent
        ' Add the attachment first for correct attachment's name with non English symbols
        .Attachments.Add PdfFile.FullName

        .send
        MsgBox "E-mail trimis cu succes"

    Set OutMail = Nothing
    Set OutApp = Nothing

    End With

End Sub
.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

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

.Subject = ActiveDocument.Name
0 голосов
/ 30 января 2019

Должно быть.

.Subject = ThisDocument.Name

https://docs.microsoft.com/en-us/office/vba/api/visio.document.name

Если документ еще не назван, это свойство возвращает временное имя документа


Редактировать

На комментарий ниже

Пример

Option Explicit
Public Sub Example()
    Dim LastAuthor As String
        LastAuthor = ActiveDocument.BuiltInDocumentProperties("last Author")

        Debug.Print LastAuthor ' Print on Immediat Window, Crtl-G

        Dim Email As String
            Email = Replace(LastAuthor, " ", ".") & "@email.com"

        Debug.Print Email ' Print on Immediat Window, Crtl-G

End Sub

Свойство BuiltinDocumentProperties

Это свойство возвращает всю коллекцию встроенных свойств документа

...