Добрый день. Задачка следующего характера: в файле ворд обновляется текст закладок, после чего обновляются поля "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
Спасибо, работает! : )