Изменить заполнители в теме - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь создать шаблон, в котором я могу попросить VBA изменить элементы в теме.У меня есть шаблон письма с темой, которая должна быть Project / GC / Client, и в шаблоне я написал это как # 0 # / # 1 #.

Я ниже,но это ошибка.

Private Sub m_Inspector_Activate()

    Dim Item As MailItem
    Dim Value As String
    If TypeOf m_Inspector.CurrentItem Is MailItem Then
        Set mail = m_Inspector.CurrentItem
        If mail.Subject = "subject" Then
            Value = InputBox("Project")
            mail.Subject = Replace(mail.Subject, "#0#", Value)

            Value = InputBox("GC/Client")
            mail.Subject = Replace(mail.Subject, "#1#", Value)
        End If
    End If

End Sub

Этот код используется для кнопки шаблона в Outlook.т.е. файл шаблона, который он запускает, содержит строку темы # 0 # / # 1 #.В идеале, после запуска шаблона макрос предлагает пользователю обновить эти два поля с соответствующими объектами.

Sub CommandButton1_Click()
    Set MyItem = Application.CreateItemFromTemplate _
      ("V:\All Folders\Templates\Freebie.oft")
    MyItem.Display
End Sub 

1 Ответ

0 голосов
/ 04 июня 2018

Если все, что вы действительно хотите сделать, это открыть шаблон и заменить текст в строке темы, это может работать для вас:

Sub CommandButton1_Click()
    Call OpenTemplate
End Sub

Sub OpenTemplate()

    Dim OutMail As Outlook.MailItem
    Set OutMail = Application.CreateItemFromTemplate("V:\All Folders\Templates\Freebie.oft")

    On Error Resume Next
    With OutMail
        .To = ""
        .CC = ""
        .BCC = ""

        .Subject = Replace(.Subject, "#0#", InputBox("Project"))
        .Subject = Replace(.Subject, "#1#", InputBox("GC/Client"))

        .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing

End Sub

Если мы можем избежать использования Инспектора, тогда это намного проще

...