Слово VBA: .Скрыть функцию не скрывает? - PullRequest
1 голос
/ 22 декабря 2011

Я взял старый документ MS Word, чтобы адаптировать его к новому макету.

Я закончил на прошлой неделе, и все работало нормально, основной макрос должен скрыть или отобразить некоторый текст.

Для этого зона текста «помечается закладкой», а затем мы получаем эту закладку и устанавливаем ее шрифт скрытым:

ActiveDocument.Bookmarks("MyBookMarkname").Range.Font.Hidden = True 'Or False

Так было сделано в старом документе, и мне оставалось толькосделайте то же самое с новым документом (воссоздайте эти закладки).

Но сегодня, когда вы снова пытаетесь выполнить это действие, текст больше не скрывается!Когда он должен быть скрыт, текст словно подчеркивается маленькой синей линией (та же самая, что и у вас, когда слово написано не правильно, но синим цветом).

Я искал в Интернете, я нашел нескольковещи, но ни одна из них не сработала:

Private Sub HideHiddenText()
    For Each myWindow In Windows
        myWindow.View.ShowHiddenText = False
    Next myWindow
End Sub

У меня тоже не включен режим ревизии.

Что может быть не так?

1 Ответ

3 голосов
/ 25 декабря 2011

Я полагаю, что волнистая синяя линия, отображаемая в Word, запускается скрытым текстом, поскольку Word использует синюю линию для обозначения несоответствий форматирования. Чтобы избавиться от строки в Office 2007/2010, перейдите на

Office Orb Menu (2007) или File Menu (2010) | Параметры | Дополнительно

и снимите флажок Отметить несоответствия форматирования

Однако волнистая синяя линия не имеет никакого отношения к отображаемому скрытому тексту. Я полагаю, что это происходит потому, что включена функция «Показать / скрыть метки форматирования». Чтобы убедиться, что ваш скрытый текст скрыт с помощью vba, вам потребуется следующее:

With ActiveDocument
    .ActiveWindow.View.ShowAll = False 'Hide all formatting marks
    .ActiveWindow.View.ShowHiddenText = False 'Do not display hidden text
    .Application.Options.PrintHiddenText = False 'Do not print hidden text
End With

Стоит отметить, что опытный пользователь Word всегда может выбрать отображение скрытого текста через пользовательский интерфейс Word, и что для того, чтобы этого избежать, потребуется много дополнительной работы, чтобы отключить собственные функции Word, которые может использоваться для отображения скрытого текста (если это даже возможно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...