Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 21:01   #1
bdfy
Форумчанин
 
Регистрация: 12.11.2009
Сообщений: 258
По умолчанию Макрос - разбить таблицы по ГОСТ.

Хочу написать макрос чтобы в один клик оформлять таблицы по ГОСТ.
- добавляется вторая строчка (будем считать что шапка в одну строку идет).
- строка забивается нумерацией 1 2 3 4 5
- таблица разрывается на каждой странице (добавляется строка с нумерацией)
- сверху добавляется "Продолжение таблицы", "Окончание таблицы".

вот все в принципе ясно и решаемо, а вот как узнать где таблица переходит на новую страницу ?
bdfy вне форума Ответить с цитированием
Старый 31.05.2011, 22:07   #2
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Цитата:
Сообщение от bdfy Посмотреть сообщение
...как узнать где таблица переходит на новую страницу?
Это как раз самое простое в вопросе
Для начала макрос разбивки таблицы на страницы:
Код:
Option Explicit

Sub Таблицу_на_страницы()
   
Dim D As Word.Document
Dim T As Word.Table
Dim R As Word.Range, RT As Word.Range
Dim P&
    
    ' документ с таблицей
    Set D = Selection.Document
    ' первая выбранная таблица
    Set T = Selection.Tables(1)
    ' первая страница таблицы
    With T.Range
        .Collapse Direction:=wdCollapseStart
        P = .Information(Type:=Word.wdActiveEndPageNumber)
    End With
    ' запоминаем область таблицы
    Set RT = T.Range
    ' перебор страниц
    Do
        P = P + 1
        If P > D.Range.Information(Type:=Word.wdNumberOfPagesInDocument) Then Exit Do
        ' начало страницы
        Set R = D.GoTo(What:=Word.wdGoToPage, _
                       Which:=Word.wdGoToAbsolute, _
                       Count:=P)
        If Not R.InRange(RT) Then Exit Do
        ' первая на странице строка таблицы
        R.Expand Unit:=Word.wdRow
        ' вставляем разрыв
        R.InsertBreak Type:=Word.wdSectionBreakNextPage 'wdPageBreak
    Loop
    
End Sub
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 31.05.2011, 23:16   #3
bdfy
Форумчанин
 
Регистрация: 12.11.2009
Сообщений: 258
По умолчанию

готового решения к слову нет в копилке ? не верю я что мне первому такая штука понадобилась
bdfy вне форума Ответить с цитированием
Старый 01.06.2011, 07:30   #4
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Цитата:
Сообщение от bdfy Посмотреть сообщение
готового решения к слову нет в копилке ?
Именно ГОСТом (кстати, не указан какой) не занимался, а отдельно по каждому пункту задача решена. А ГОСТ не описывает форматирование текста таблицы? Такого пункта по-моему не хватает. Прикинул, и действительно, осталось сделать не много, наверное, ГОСТ то я не читал
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос поиска в таблицы Chubbakka Microsoft Office Excel 17 29.12.2010 01:42
Макрос-формирование накопительной таблицы HelgaRain Microsoft Office Excel 4 28.11.2010 20:07
Макрос: копирование значений из таблицы Leany Microsoft Office Excel 1 08.11.2010 00:05
макрос для таблицы orlovya Microsoft Office Excel 11 02.11.2010 16:54
Макрос для таблицы Radagest Microsoft Office Excel 3 17.07.2009 20:58