1

Тема: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

В файле сбивается нумерация списков, (если они прерываются другими стилями) приходится в панели стилей:
1) выбирать правой кнопкой мыши стиль;
2) выделять все вхождения;
3) потом обновлять стиль в соответствии с выделенным фрагментом.
Тогда все восстанавливается. И так для стилей списков уровня 2,3,4.
Работы немного, но макрос, который записываю, никак это не воспроизводит. Курсор стоит после открытия файла на заголовке титульного листа, после запуска меняется только сам заголовок и ничего более. А вручную  эта технология работает. Можно это "победить"? Файл Word формируется в другой программе на основе шаблона, поэтому этот макрос будет запускаться из шаблона на финальном этапе подготовки файла, до его первого открытия. Я в некоторой степени еще "чайник" в плане автоматизации, самостоятельно пока не все получается. Если эта задача тривиальна - прошу простить smile

2

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

О каких списках идёт речь? О нумерации заголовков?
Если файл документ формируется на основе шаблона, то копать нужно в сторону шаблона. А может быть и программа, которая формирует документ, случайно сбивает стили.
Можно взглянуть на шаблон?

Лучше день потерять — потом за пять минут долететь!

3

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

viter.alex пишет:

О каких списках идёт речь? О нумерации заголовков?
Если файл документ формируется на основе шаблона, то копать нужно в сторону шаблона. А может быть и программа, которая формирует документ, случайно сбивает стили.
Можно взглянуть на шаблон?

Можно, конечно. (наверное и сам документ не помешает для наглядности). Документ формируется в системе Author-IT,(пока ДЕМО) разработчики в Н.Зеландии, мне проще через шаблон исправить их "косяки", чем просить их что-то сделать для меня (бесполезно). Стиль нумерации в Word я сам придумал, может это "по кривому", но никак по-другому не получилось.

У меня есть заголовки пунктов до 4 уровня, внутри пунктов есть списки, например: если заголовок 1 уровня, то нумерованный список в тексте этого пункта 2 уровня, если заголовок 2 уровня, то список 3 уровня и т.д. Первая цифра списка содержит номер заголовка, нумерация последней цифры списка в каждом пункте начинается сначала.   (такой стандарт на фирме, где работаю sad ). Примером может быть документ типа технические условия.  Сбой нумерации происходит, если нумерованный список прерывается другим стилем, например для раздела 1 уровня:
1 Заголовок 1 уровня (Стиль "Заголовок 1")
1.1 Нумерованный текст 2 уровня (стиль "Нумерованный список 2").
1.2 Нумерованный текст 2 уровня (стиль "Нумерованный список 2").
- список или текст без нумерации (стиль "Маркированный список" или любой другой);
- список или текст без нумерации (стиль " Маркированный список"или любой другой).
1.1 Нумерованный текст 2 уровня (стиль "Нумерованный список 2").
1.2 Нумерованный текст 2 уровня (стиль "Нумерованный список 2").
2 Заголовок 1 уровня (Стиль "Заголовок 1")
2.1 Заголовок 2 уровня (Стиль "Заголовок 2")
2.1.1 Нумерованный текст 3 уровня (стиль "Нумерованный список 3").
2.1.2 Нумерованный текст 3 уровня (стиль "Нумерованный список 3").
и т.д...
В итоге: Нумерация текста 2 уровня "полетела".

Если для этого примера убрать "Маркированный список", то все формируется норм.
Поэтому я и придумал описанный в начале темы "фокус" с выделением и обновлением стилей. smile   
Нужен шаблон? На какой адрес выслать?

Отредактировано Gorden (12.03.2010 13:38:32)

4

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

Gorden пишет:

Нужен шаблон? На какой адрес выслать?

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

5

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

Gorden пишет:

1.1 Нумерованный текст 2 уровня (стиль "Нумерованный список 2").

Думаю, что проблема в этом. Должен быть заголовок второго уровня с нумерацией.

Лучше день потерять — потом за пять минут долететь!

6

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

admin пишет:
Gorden пишет:

Нужен шаблон? На какой адрес выслать?

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

Прилагаю, шаблон. есть файл, но он 1 мег, хотя в нем все будет понятно

Отредактировано Gorden (12.03.2010 13:39:12)

Post's attachments

Шаблон.rar 178.71 Кб, 1 скачиваний с 2010-03-12 

You don't have the permssions to download the attachments of this post.

7

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

Да, дело не простое. У вас второй уровень имеет разное форматирование: Заголовок 2 и Нумерованный список 2:
Нужен макрос восстановления стилей нумерованных списков 2-4 уровня
Вернее, Вы хотите, чтобы уровни 2 и 5 выглядели одинаково, но это не получается. Та же самая история с уровнями 3 и 6, 4 и 7.
Скорее всего, придётся отказаться от использования нумерованных списков и использовать поля SEQ, комбинируя их в нужных сочетаниях.

Лучше день потерять — потом за пять минут долететь!

8

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

viter.alex пишет:

Да, дело не простое. У вас второй уровень имеет разное форматирование: Заголовок 2 и Нумерованный список 2:
Нужен макрос восстановления стилей нумерованных списков 2-4 уровня
Вернее, Вы хотите, чтобы уровни 2 и 5 выглядели одинаково, но это не получается. Та же самая история с уровнями 3 и 6, 4 и 7.
Скорее всего, придётся отказаться от использования нумерованных списков и использовать поля SEQ, комбинируя их в нужных сочетаниях.

У меня и третий и четвертый уровние имеют разное форматирование smile. Дальше четвертого- не требуется. Вся "фишка" в том, что "вручную" это работает, как ее автоматизировать?  Или на самом деле нет способа автоматической "регенерации" стилей  этих нумерованных списков в теле текста?

9

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

Я понимаю, что они имеют разное форматирование. Собственно, из-за этого разного форматирования и весь сыр-бор. Вручную работает потому, что вы видите какой уровень списка имеет неправильный стиль и меняете его. А вот как программно это определить. По-моему, лучший выход это использование полей SEQ. Чуть позже я выложу пример, иллюстрирующий это.

Лучше день потерять — потом за пять минут долететь!

10

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

viter.alex пишет:

Я понимаю, что они имеют разное форматирование. Собственно, из-за этого разного форматирования и весь сыр-бор. Вручную работает потому, что вы видите какой уровень списка имеет неправильный стиль и меняете его. А вот как программно это определить. По-моему, лучший выход это использование полей SEQ. Чуть позже я выложу пример, иллюстрирующий это.

Уважаемый, Александр. Задачка более тривиальна. В моем случае не надо определять какой стиль "глючит" с нумерацией. Я  после открытия файла  сразу перебираю все нумерованные списки в тексте в моем случае (их всего 3):
1) выделить все вхождения в стиль" Нумерованный список 2" - обновить его в соответствии с выделенным;
2  выделить все вхождения в стиль" Нумерованный список 3" - обновить его в соответствии с выделенным;
3) выделить все вхождения в стиль" Нумерованный список 4" - обновить его в соответствии с выделенным;
И ничего более. Попробуйте тот файл, который я Вам отправил напрямую с другого адреса - получится.
И тот самый пример нумерации с фокусами с уровнями, приведенный выше - исправляется smile . Я знаком с "глюками" Worda" cо списками, и нашел для себя этот способ. Прошу прощения, если не корректно сформулировал задачу smile

11

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

Макросом нельзя обновить в соответствии с выделенным. Какой формат имеет выделенный фрагмент?

Added
А вот и пример того, что вам должно подойти. Заголовки остаются заголовками, а нумерованные списки внутри заголовков созданы из сочетания полей STYLEREF и SEQ

Post's attachments

Сложные многоуровневый список.doc 33.5 Кб, 7 скачиваний с 2010-03-13 

You don't have the permssions to download the attachments of this post.
Лучше день потерять — потом за пять минут долететь!

12

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

viter.alex пишет:

Макросом нельзя обновить в соответствии с выделенным. Какой формат имеет выделенный фрагмент?

Added
А вот и пример того, что вам должно подойти. Заголовки остаются заголовками, а нумерованные списки внутри заголовков созданы из сочетания полей STYLEREF и SEQ

Спасибо, это выглядит так как мне надо, но в этом случае надо будет сначала находить каждый нумерованный абзац  после заголовка  (а бывают и не нумерованные) и  заменять его нумерацию на поля  {STYLEREF "Заголовок X" \w  \* MERGEFORMAT }. {SEQ EQ Num \s 2 \MERGEFORMAT}. Тоже проблемка, ведь документ формируется без моего участия..а залезть в скрипты, которые его формируют, я не могу sad .

13

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

Как мне представляется, это можно решить. Нужно убрать нумерацию у стилей "Нумерованный список Х". После формирования документа сторонней программой на основе шаблона, нужно будет найти абзацы, оформленные этими стилями и перед ними вставить соответствующие поля. Чтобы упростить эту процедуру, поля нужно добавить в элементы автотекста вашего шаблона

Лучше день потерять — потом за пять минут долететь!

14

Re: Нужен макрос восстановления стилей нумерованных списков 2-4 уровня

думаю это то что нужно,  у меня в шаблоне в автотексте записаны колонтитулы и титульный лист smile Тогда как это сделать?

Отредактировано Gorden (15.03.2010 07:17:50)