1

Тема: Макрос извлечения таблицы из надписи в MS Word 2010

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


Алгоритм действий, проделанный при записи в макрос (записался успешно):
Найти/таблицу/Esc/вырезать в буфер/Esc/Del/Вставить из буфера
Получился вот такой макрос:


Sub Макрос1()
'
' Макрос1 Макрос
'
'
    ActiveDocument.Shapes.Range(Array("Text Box 2")).Select
    Selection.Cut
    Selection.EscapeKey
    Selection.PasteAndFormat (wdFormatOriginalFormatting)
End Sub


Но этот макрос при воспроизведении не работает. Сначала пытался его опробовать сразу после записи - выдает ошибку "Компонент с указанным именем не найден." Затем клавишей возврата действий вернул документ в исходное состояние (до редактирования) и запустил макрос. Макрос нашел и выделил надпись с таблицей и больше ничего не сделал.


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

2

Re: Макрос извлечения таблицы из надписи в MS Word 2010

Проблема возникает при преобразовании из pdf в docx. Все таблицы после этого преобразования почему-то в надписях, а все рисунки в рамках, причем таблицы и рисунки  лежат друг на дружке иногда более 10 штук на одном месте. Вручную расставить их по исходным местам проблем нет, если документ на несколько страниц. Но когда документ страниц на 300 - убивается огромное количество времени на однотипные действия. Хотелось бы их автоматизировать.

Заранее спасибо.

3

Re: Макрос извлечения таблицы из надписи в MS Word 2010

Сделал ошибку в первом сообщении.

Конец надо читать так: "... и проделал написанное в ПЕРВОМ абзаце этого вопроса."

4

Re: Макрос извлечения таблицы из надписи в MS Word 2010

я распознаю файнридером в режиме форматирования
режим точного форматирования не применяю( не могу гарантировать порядок блоков текста)