У меня есть файл слова, который содержит сотни горизонтальных линий, взятых из «Вставка> Фигуры> Линия», этот документ был создан с более ранней версией MS Word, вероятно, 2000. (в настоящее время я использую слово 2016)

Я хочу удалить все эти строки одновременно, я не могу выбрать каждую строку и нажать «Удалить» для сотен из них, поскольку у меня есть сотни других документов.

Есть ли способ выбрать и удалить ТОЛЬКО эти строки сразу из всего документа? Любое решение, пожалуйста!

Спасибо за вашу поддержку!

РЕДАКТИРОВАТЬ: вот ссылка на файл Тестирование удаления горизонтальной линии

3 ответа3

2

Кажется, что код в моем предыдущем ответе не рассматривает горизонтальные линии, созданные в более ранней версии Word, как фигуры. Так что он не входит в цикл в первую очередь, так что нет вопроса об удалении этих строк. Однако я предлагаю другое решение. Попробуй. Однако сначала сделайте резервную копию вашего документа.

Преобразуйте этот документ в последний формат docx или docm, предварительно сохранив версию Office 2013/2016. Не работайте в режиме совместимости, в противном случае предложенная ниже опция может быть недоступна.

  1. На вкладке Главная лента Перейти к поиску -> Расширенный поиск
  2. Выпадающий Специальный и выберите Графика
  3. Найти, какое текстовое поле должно содержать ^ g
  4. Перейдите на «Заменить» и ничего не вводите и нажмите «Заменить» (чтобы заменить каждый случай) или «Заменить все», чтобы очистить все за один раз.

Осторожно - это может даже заменить любую другую графику. Так что будьте осторожны и протестируйте его сначала на своем документе перед внедрением.

0

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

Сначала сохраните документ в вашем последнем формате Word как .docm (Word Doc с поддержкой макросов).

Откройте дос и нажмите ALT + F11 для доступа к VBA Editor. Из меню вставки вставьте модуль. Вставьте в нее следующий код подпрограммы

Sub DelLines()

Dim H_Line As Shape

For Each H_Line In ActiveDocument.Shapes

    If H_Line.Type = msoLine Then
       H_Line.Delete
    End If

Next H_Line

End Sub

Сохраните документ. В главном документе нажмите ALT + F8 и запустите этот макрос.

Обратите внимание, что - макрос несколько дал непредсказуемые результаты на моем Word 2013. Он удалил все строки, кроме одной. Повторный запуск макроса очистил отложенную линию. Во-вторых, макрос кажется неспособным отличить линию от стрелки. Так оно и удалило стрелки. Он не касался других объектов, таких как вставленные картинки или прямоугольники. Это делается путем выбора If H_Line.Type = msoLine Then часть кода.

Поэтому, прежде чем что-либо предпринимать, пожалуйста, сделайте резервную копию вашего оригинального документа. Также я не слишком уверен, сколько лет документ, созданный в Word 2000, может реагировать на этот код, если код будет совместимым. Попробуйте это.

0

В документе, содержащем строки CTRL+A, затем CTRL+C

Откройте новый документ Word

Щелкните правой кнопкой мыши пробел> Параметры вставки> Сохранить только текст

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .