1

Тема: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Скачал шаблоны для рисования рамок согласно ГОСТ 2.104
http://wordexpert.ru/page/shablon-gost-dlya-ms-word
и тут - http://wordexpert.ru/forum/viewtopic.php?id=285

Но проблема не решилась так как хотел я. А именно - как преобразовать УЖЕ готовый текст (скажем страниц на 200) в вид согласно этому ГОСТу? не копировать кусками и вставлять в заранее приготовленные рамки, а получить вместо просто текста рамки с размещённым в них текстом и заполненными полями.

Понимаю что это не просто и что word вообще под такое не заточен... Но теоретически это вполне выполнимо.

В конце концов, те кто постоянно готовит объёмную конструкторскую документацию - как выходит из положения?

2

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Так обычно для рамок используют колонтитулы. Или в чем проблема?

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:

Так обычно для рамок используют колонтитулы. Или в чем проблема?

Проблема в том что один из указанных макросов вставляет рамку только в текущую страницу, а второй вообще создаёт новый документ из двух страниц с двумя рамками (титул и обычную).

Мне же надо чтобы рамки добавлялись в уже готовый документ на каждую страницу. Если в документе 5 страниц - можно вставить рамку в первую страницу, заполнить поля и потом скопировать эту рамку на остальные 4 страницы. А если их 200?

4

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

AlexeyE30 пишет:

...на каждую страницу...если их 200?

Так вы используете колонтитулы или хотите вставить рамки  в основной текст?

Если используете, и вам мешает сложное форматирование: разбивка на разделы, поля, номера страниц и др., то лучший вариант - это макрос перебора всех разделов и вставки рамки в колонтитул каждодго.

Если вставляете в текст, то опять же нуден  макрос перебора страниц и вставки на каждую рамки.

Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:
AlexeyE30 пишет:

...на каждую страницу...если их 200?

Так вы используете колонтитулы или хотите вставить рамки  в основной текст?

Если используете, и вам мешает сложное форматирование: разбивка на разделы, поля, номера страниц и др., то лучший вариант - это макрос перебора всех разделов и вставки рамки в колонтитул каждодго.

Если вставляете в текст, то опять же нуден  макрос перебора страниц и вставки на каждую рамки.

Спасибо за быстрый ответ)

Я использую указанные макросы. Рисовать самому такие рамки в виде колонтитулов боюсь у меня не выйдет.

"нужен  макрос перебора страниц и вставки на каждую рамки."
Вот было бы здорово иметь такие макросы. Перебор по разделам и просто перебор всех страниц. То есть стою на странице с готовой заполненной рамкой, вызываю макрос и он дублирует его на весь документ.

+в этих рамках нет автонумерации страниц - вставляешь несколько рамок подряд, и в каждой номер страницы - 1.

6

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

AlexeyE30 пишет:

...было бы здорово иметь такие макросы...

Макросов перебора хватает. Для вас надо будет их доработать вставкой из буфера. Скопировал и запустил макрос...

P.S. Сейчас убегаю, буду часов через шесть...

Макросы под заказ и готовый пакет - mtdmacro.ru

7

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:
AlexeyE30 пишет:

...было бы здорово иметь такие макросы...

Макросов перебора хватает. Для вас надо будет их доработать вставкой из буфера. Скопировал и запустил макрос...

P.S. Сейчас убегаю, буду часов через шесть...

Вот хотелось бы увидеть варианты) с текущего места и до конца документа (включая все разделы). И до конца раздела.

А как обрабатывать разную ориентацию? Вдруг посреди текста пара страниц - альбомная?
Думаю что их надо пропустить и туда руками вставить другую рамку.

8

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Пример:

Dim R As Range
Dim N As Long

    Set R = Selection.Range
    R.Collapse Direction:=wdCollapseStart
    Do
        N = R.Start
        Set R = R.GoToNext(What:=wdGoToPage)
        If R.Start = N Then Exit Do
        ' R в начале страницы
    Loop
Макросы под заказ и готовый пакет - mtdmacro.ru

9

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:

Пример:

Dim R As Range
Dim N As Long

    Set R = Selection.Range
    R.Collapse Direction:=wdCollapseStart
    Do
        N = R.Start
        Set R = R.GoToNext(What:=wdGoToPage)
        If R.Start = N Then Exit Do
        ' R в начале страницы
    Loop

я правильно понимаю что в этом макросе нет самой вставки?
Если её тут нет, то как её там реализовать? К сожалению моих знаний не хватает.  sad

Судя по макросу - алгоритм такой - на первой странице делаю рамку. А начиная со второй и до конца документа выделяю всё (судя по Set R = Selection.Range) и запускаю макрос.

10

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

AlexeyE30 пишет:

...знаний не хватает...

Судя по всему, вас спасет только полностью готовый макрос smile Может кто и напишет.
Мой же макрос вставляет то, что в буфере, в начало каждой страницы, до конца документа. Алгоритм такой:
- в макросе меняем текст "' R в начале страницы" на "R.Paste"
- ручками копируем рамку в буфер
- ставим курсор на начальной странице
- запускаем макрос

Макросы под заказ и готовый пакет - mtdmacro.ru

11

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:
AlexeyE30 пишет:

...знаний не хватает...

Судя по всему, вас спасет только полностью готовый макрос smile Может кто и напишет.
Мой же макрос вставляет то, что в буфере, в начало каждой страницы, до конца документа. Алгоритм такой:
- в макросе меняем текст "' R в начале страницы" на "R.Paste"
- ручками копируем рамку в буфер
- ставим курсор на начальной странице
- запускаем макрос

спасибо)))

и позвольте вас ещё побеспокоить. Тут на сайте есть список литературы по VBA. Что вы посоветуете из самоучителей для начала? Из своего опыта. Применительно к Word и Excel.

12

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:

R.Paste

на этой строчке (в режиме debug по шагам отслеживал) макрос вылетает с ошибкой Run-time error "4198"

13

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Watch :   : R.Paste : <Expression not defined in context> : Empty : NewMacros.RepeatInsert

хотя рамка в буфере висит

14

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

AlexeyE30 пишет:

...список литературы по VBA...Что вы посоветуете...для начала...

Я, для изучения VBA в Word, пользовался только встроенной справкой smile В редких случаях - поиском в Интернет. Все потому, что к моменту написания первого макроса Word, я уже помучил штук пять языков. Начинать же осваивать программирование надо с алгоритмического языка. Понимаю, лениво, но изучение конкретного языка - это следующий этап.

AlexeyE30 пишет:

...вылетает с ошибкой...

У меня работает. Мой макрос - простейший пример, на работу которого может влиять туча факторов (что в буфере, разметка документов и др.).

Макросы под заказ и готовый пакет - mtdmacro.ru

15

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:
AlexeyE30 пишет:

...список литературы по VBA...Что вы посоветуете...для начала...

Я, для изучения VBA в Word, пользовался только встроенной справкой smile В редких случаях - поиском в Интернет. Все потому, что к моменту написания первого макроса Word, я уже помучил штук пять языков. Начинать же осваивать программирование надо с алгоритмического языка.

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

Спасибо за макрос. буду ковыряться.

16

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Начиная с Office 2007 встроенная справка стала жутко неудобной, в этих версиях я ей уже не пользуюсь. Хорошим подспорьем для работы с типами, классами и др. служит "Object Browser" (F2).

Макросы под заказ и готовый пакет - mtdmacro.ru

17

Re: Преобразование текста в вид согласно ГОСТ 2.104 (ЕСКД)

Вождь пишет:

Начиная с Office 2007 встроенная справка стала жутко неудобной, в этих версиях я ей уже не пользуюсь. Хорошим подспорьем для работы с типами, классами и др. служит "Object Browser" (F2).

спасибо, будем изучать)
жаль там нет коротких примеров использования.