Word: Как найти все заблокированные поля в документе?

272
Albin

Можно ли получить список всех полей, которые я использовал в текстовом документе? Я хочу выяснить, какое поле заблокировано, не проходя каждое поле отдельно. Нечто похожее на список, когда вы показываете все связанные файлы, находится в списке, к которому вы можете получить доступ, например, в меню: Файл -> Информация -> Редактировать связанные файлы.

Обычно я использую код VBA для обхода заблокированных полей (как в этом примере: https://word.tips.net/T001367_Locating_Locked_Fields.html ), но в этом случае мне нужно сделать это без помощи VBA.

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

0

2 ответа на вопрос

0
Rich Michaels

Без VBA вы не найдете функцию, которая создает список полей в документе. Что вы можете сделать на вкладке «Главная», выберите пункт «Перейти» в группе «Редактировать» и выберите «Поля». Затем вы можете довольно быстро переключаться между полями документа.

да, спасибо, еще не знал "GoTo" -Way. Вы можете использовать сочетание клавиш или кнопки под вертикальной полосой прокрутки (не знаю их имени), чтобы циклически проходить по ним. Но это также дает мне незаблокированные поля. Есть ли способ узнать, заблокировано ли поле или нет (без изменения статуса заблокированного / разблокированного)? Albin 5 лет назад 0
0
Rich Michaels

С VBA вы можете добавить комментарий к каждому заблокированному полю в документе. Это приближает вас к первоначальному списку, который вы хотели.

Sub FindLockedFields() Dim rng As Word.Range ActiveDocument.Fields.ToggleShowCodes For Each rng In ActiveDocument.StoryRanges With rng.Find .ClearFormatting .Format = True .Forward = True .Text = "^d" .Wrap = wdFindStop .Execute Do While .Found If rng.Fields.Locked = True Then rng.Comments.Add rng, "Locked" End If rng.Collapse Word.WdCollapseDirection.wdCollapseEnd .Execute Loop End With Next ActiveDocument.Fields.ToggleShowCodes 

End Sub

Надеюсь это поможет

хорошая идея, но у меня уже есть VBA-код, чтобы пройти через все заблокированные поля. Добавление комментария или пометка его каким-либо другим способом не представляет особой разницы - всего лишь одна строка кода более или менее. Но, как я уже сказал в своем вопросе, мне нужно решение без VBA. Было бы интересно только увидеть, заблокировано или разблокировано поле (без использования кода VBA или изменения заблокированного / разблокированного состояния), как я уже прокомментировал ваш другой ответ. Albin 5 лет назад 0

Похожие вопросы