Замените флажок в MailEnvelop на пользовательское значение - PullRequest
0 голосов
/ 15 апреля 2019

Мне нужно отправить документ в виде тела письма. Документ содержит несколько полей { FORMCHECKBOX }, которые либо выбраны, либо нет. Теперь, когда я на самом деле отправляю электронное письмо, флажки вообще не включаются. Из-за этой проблемы я решил заменить флажки «Да» или «Нет» в зависимости от выбора.

Я нашел этот код, чтобы заменить все флажки, но его не волнует фактический выбор:

Sub ChkBxClr()
    Dim i As Long, Rng As Range
    With ActiveDocument
        For i = .FormFields.Count To 1 Step -1
            With .FormFields(i)
                If .Type = wdFieldFormCheckBox Then
                    Set Rng = .Range
                    .Delete
                    Rng.Text = "[__]"
                End If
            End With
        Next
        Set Rng = Nothing
    End With
End Sub

Также этот код изменяет весь документ, а не только тело письма, которое я хотел бы предотвратить.

Общий код:

Sub SendEmail()

    Dim Subject As String
    Dim From As String

    On Error Resume Next

    Selection.GoTo What:=wdGoToBookmark, Name:="From"
    From = Selection.Text

    Subject = "Title"

    Call ChkBxClr

    ActiveWindow.EnvelopeVisible = True
    With ActiveDocument.MailEnvelope.Item
        .To = "<some mail address>"
        .Subject = Subject
        .Send
    End With

End Sub

Sub ChkBxClr()
    Dim i As Long, Rng As Range
    With ActiveDocument
        For i = .FormFields.Count To 1 Step -1
            With .FormFields(i)
                If .Type = wdFieldFormCheckBox Then
                    Set Rng = .Range
                    .Delete
                    Rng.Text = "[__]"
                End If
            End With
        Next
        Set Rng = Nothing
    End With
End Sub

Таким образом, вопрос в том, как я могу отобразить флажки в теле письма или заменить флажки (желательно только в теле сообщения) текстом, в зависимости от выбора?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...