Мне нужно отправить документ в виде тела письма. Документ содержит несколько полей { 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
Таким образом, вопрос в том, как я могу отобразить флажки в теле письма или заменить флажки (желательно только в теле сообщения) текстом, в зависимости от выбора?