Статьи из блога

Копирование таблиц из одного документа в новый

Михаил задал вопрос:

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

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

Sub SplitTables()
'Разбиение документа с таблицами на отдельные файлы,
'содержащие по одной таблице из документа
Dim iDoc As Long        'нумерация документов
Dim dDc1 As Document    ' активный документ
Dim dDc2 As Document    ' новый документ
Dim rTmp As Range       
Set dDc1 = ActiveDocument
For iDoc = 1 To dDc1.Tables.Count
   Set rTmp = ActiveDocument.Tables(iDoc).Range
   rTmp.Copy
   Set dDc2 = Documents.Add(Visible:=False)
   dDc2.Activate
   Selection.Paste
   dDc2.SaveAs "C:\Test\" & Format(iDoc, "000") & ".doc"
   dDc2.Close
Next
Set dDc1 = Nothing
Set dDc2 = Nothing
End Sub

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 2

  1. Артём
    31.07.2012 в 12:18 | #1

    Скрипт то что надо! Но вот как еще добавить чтобы макрос копировал 3-4 строчки перед каждой таблицей (название таблицы) из большого файла??. И уже название и таблицы вставлял в новый документ.

  2. 31.07.2012 в 14:37 | #2

    А вот если нужно еще копировать и пару строчек (2-3) текста перед каждой таблицей (нзвание ее) помимо самой таблицы, как будет выглядеть макрос? Если не трудно напишите

Оставьте комментарий!

(обязательно)

^ Наверх