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

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

Как объединить одинаковые таблицы

Рубрика: Вопрос-Ответ, Макросы, Таблицы Word
Метки: |
Четверг, 9 октября 2008 г.
Просмотров: 8881
Подписаться на комментарии по RSS
Версия для печати

[Ссылки на статью]

Александр спрашивает:

У меня Word 2003. Таблица, загруженная с Интернета, разорвана командой "Разбить таблицу". Вопрос: Как её соединить обратно?

Похожий вопрос был задан недавно на форуме ru-board.com. Пользователь спрашивал, как ему объединить несколько одинаковых по структуре таблиц в одну.

 

Я предлагаю воспользоваться следующим макросом (автор Helmut Weber). Однако, будьте аккуратны и осторожны, так как если между вашими таблицами есть какой-то текст, то он будет удален.

Sub delParSignBetweenTables() 
'удаление знаков абзаца между таблицами с одинаковой структурой 
'если в документе после таблиц есть текст, а после этого текста 
'идет другая таблица, то текст над этой таблицей будет удален 
Dim oTbl1 As Table 
Dim oTbl2 As Table 
Dim rtmp As Range 
Dim i As Long 
Set rtmp = Selection.Range 
With ActiveDocument 
   i = .Tables.Count 
   While i > 1 
      Set oTbl2 = .Tables(.Tables.Count) 
      Set oTbl1 = .Tables(.Tables.Count - 1) 
      rtmp.Start = oTbl1.Range.End 
      rtmp.End = oTbl2.Range.Start 
      rtmp.Delete 
      i = .Tables.Count 
   Wend 
End With 
End Sub

Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Создание макроса из готового кода

Автоматическая запись макроса

]]>twitter.com facebook Вконтакте Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

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

  1. Леонид Бродский
    30.10.2008 в 19:01 | #1

    Код можно немного упростить smile

    With ActiveDocument 
       While .Tables.Count > 1 
          Set oTbl2 = .Tables(.Tables.Count) 
          Set oTbl1 = .Tables(.Tables.Count - 1) 
          rtmp.Start = oTbl1.Range.End 
          rtmp.End = oTbl2.Range.Start 
          rtmp.Delete 
       Wend 
    End With

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

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

^ Наверх