Можно ли отключить выпадающие окна при обновлении полей закладок?

Автор Посетитель, 29 апреля 2023, 11:59

Посетитель

Добрый день. Задачка следующего характера: в файле ворд обновляется текст закладок, после чего обновляются поля "ActiveDocument.Fields.Update". Соответственно, на этой команде ворд начинает последовательно вываливать окна с подтверждением значений текста закладок. Подскажите, пожалуйста, можно ли отключить эти окна при обновлении?

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To UBound(TxtBx_arr)
  Bmarks(i)(1) = TxtBx_arr(i).Value
  Call Bmarkschange(Bmarks(i)(0), Bmarks(i)(1))
Next i
Application.DisplayAlerts = wdAlertsNone
ActiveDocument.Fields.Update
Application.DisplayAlerts = wdAlertsAll
End Sub

Private Sub Bmarkschange(str1, str2)
Dim bmRng As Range
With ActiveDocument
On Error Resume Next
Set bmRng = .Bookmarks(str1).Range
  bmRng.Text = str2
  .Bookmarks.Add str1, bmRng
End With
End Sub


Администратор

Сообщения отображают поля ASK. Зачем вы используете поля ASK в документе? Есть ли в них смысл? Я эти поля никогда не использовал, поэтому с ходу не могу сориентироваться, зачем они нужны.
Как я понимаю, поле ASK нужно, чтобы пользователь в программе Word заполнял закладки.
Сейчас пользователи заполняют закладки с помощью поля ASK? Если нет, значит нужно удалить поля ASK, т.к. их не видно.

Администратор

Если поля ASK всё-таки для чего-то нужны, то можно попробовать обновлять все поля, кроме полей ASK.
Я не представляю, какие в вашем документе есть взаимосвязи, и важен ли порядок обновления полей, здесь вам надо самим контролировать.

Sub Макрос()
   
    Dim Поле As Field
   
    For Each Поле In ActiveDocument.Fields
        If Поле.Type <> wdFieldAsk Then
            Поле.Update
        End If
    Next Поле

End Sub