Замена флажков в MS-Word - PullRequest
       0

Замена флажков в MS-Word

0 голосов
/ 27 сентября 2019

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

Пример:

If checkbox is checked then replace it with "A"
If checkbox is not Checked then replace it with "O"

В настоящее время явсе флажки можно заменить только буквой независимо от их состояния (отмечено или не отмечено).Мне нужно улучшить свой макрос, чтобы он распознал состояние флажка и заменил его на правый буквальный.

Заранее спасибо

Sub Checkbox_Replacement()
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 = "A"
End If
End With
Next
Set Rng = Nothing
End With
End Sub

Ожидаемый результат

If checkbox is checked then replace it with "A"
If checkbox is not Checked then replace it with "O"

Фактический результат

All checkboxes are replaced with "A"

1 Ответ

0 голосов
/ 27 сентября 2019

Вам необходим второй If..Else блок для проверки состояния флажка:

If .Type = wdFieldFormCheckBox Then
Set Rng = .Range
    If .CheckBox.Value = True Then
        Rng.Text = "A"
    Else
        Rng.Text = "O"
    End If
    .Delete
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...