Word: Убрать поля оглавления, eq и другие

Автор Anton, 30 января 2017, 10:24

Anton

Здравствуйте! Если есть поля в документе (например, оглавление), как его преобразовать в обычный текст? Приложу все-таки пример.

[вложение удалено администратором]

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

Поля, которые у вас в файле, называются "eq". Это можно так посмотреть. Щёлкните по полю правой мышью - Коды/значения полей.
Но поля "eq" не получается преобразовать в текст обычным способом: выделить поле - Ctrl+Shift+F9.
Могу предложить такой вариант. Просто выделите фрагмент с полями, скопируйте его и вставьте как обычный текст (вкладка "Главная" - стрелка кнопки "Вставить" - Сохранить только текст).

Что касается оглавления и других полей, то их можно преобразовать в текст так: выделите фрагмент с полями - Ctrl+Shift+F9.

Anton

Спасибо. Неудобно копировать с последующей вставкой только текста, ведь после такой вставки теряется форматирование.
А с помощью макроса можно убрать eq-поля?

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

Макрос для eq-полей.

Макрос
Sub Макрос()

    Dim fld As Field, i As Long

   
    '1. Скрытие кодов полей, если вдруг юзер их отобразил для каких-то своих целей.
    ActiveWindow.View.ShowFieldCodes = False
   
    For i = ActiveDocument.Fields.Count To 1 Step -1
   
        '2. Присваивание программного имени полю.
        Set fld = ActiveDocument.Fields(i)
       
        ' Если это eq-поле.
        If fld.Type = wdFieldFormula Then
            '3. Выделение поля (с помощью Range не получилось работать).
            fld.Select
            '4. Копирование поля.
            Selection.Copy
            '5. Вставка поля в виде текста.
            Selection.PasteAndFormat (wdFormatPlainText)
        End If
       
    Next i
   
    '5. Сообщение, чтобы юзер понял, что макрос закончил работу.
    MsgBox "Готово.", vbInformation
   
End Sub
[свернуть]

Anton

Какой счастливый финал у моей печальной истории.
Огромное спасибо!

Посетитель

Здравствуйте! Извините за подъем старой темы, но актуально стало сейчас попался документ надо его очистить от полей. Запускаю макрос а ошибка выходит ругается на   Selection.PasteAndFormat (wdFormatPlainText). Подскажите что не так?

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

Сделайте скриншот сообщения, в котором ошибка.

Посетитель

вот ошибка. спасибо

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

После ошибки что в тексте выделено? Перед ошибкой макрос выделяет. Посмотрите, что выделено.

Посетитель

вот желтым потом выделяет строчку

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

Я имел ввиду в самом документе, в тексте документа, что выделено.

Посетитель

в тексте выделено слово с полем

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

Не знаю, почему ошибка, с ходу не могу сказать.
Значит нужно что-то придумывать.
Если файл не секретный, то выложите на форуме или вышлите мне на почту, методом тыка посмотрю, что такого особого в вашем поле.


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

Какая у вас версия Офиса: 2007, 2010 и т.д.
Обновления ставили хотя бы раз после установки Офиса?
У меня макрос обработал без ошибки.