1

Тема: Подсчёт количества вхождений стиля в поле

Здравствуйте!!
Не так давно начал пользоваться полями в Ворде и уже заценил их большое удобство – во многих местах автоматизация получилась более практичная по сравнению с той, что я делал раньше. Но всё же в силу небогатого пока что опыта не знаю, как решить некоторые задачи.
Поскольку я начал осваивать поля в связи с необходимостью оформления дипломной работы, одна из таких задач - это подсчёт количества в работе некоторых элементов (например, таблиц, рисунков, источников, приложений). Почему-то мне на ум пришла такая идея, что подсчитать это можно, узнав количество вхождений определённого стиля, которым оформлен тот или иной элемент. По-простому и если не знать, как правильно, можно это сделать и руками (например, из списка стилей выбрать стиль "Таблица_Имя" и посмотреть, сколько вхождений захочет выделить Ворд), но это прокатывает только на самом последнем этапе, когда ничего уже точно не добавится. А ведь проверить это можно влёгкую мало ли что и забыть :> Поэтому я бы хотел эту обязанность перевалить на Ворд, чтоб он мне сам показывал это в заданном поле.
Если кто-нибудь сталкивался с подобным вопросом или просто знает, как его решить, помогите, пожалуйста, и мне :> Может быть, существует и другой способ, которого я не увидел за своей теперешней увлечённостью полями big_smile
Прикрепляю файл с примером – смысл в том, чтоб на первой странице, где указано количество элементов работы, числа изменялись автоматически в зависимости от количества вхождений стилей в документе. Сейчас там считается так, как я хочу, только количество страниц.
Заранее спасибо :>
PS Чтоб не создавать новую тему, задам ещё один связанный вопрос про поля тут же, вдруг знаток будет широкого профиля wink Как изменить стиль абзаца, который содержит поле, в зависимости от значения этого поля? (Если что, я применяю код поля IF, но могу менять с его помощью через свойство документа пока что только текст, но не стиль.)

Post's attachments

Подсчёт количества вхождений стиля в поле Пример.docx 25.95 Кб, 1 скачиваний с 2011-06-10 

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

2

Re: Подсчёт количества вхождений стиля в поле

Как вариант: сделать закладки на  номера  последних элементов документа (закладка на номер последней таблицы, 
закладка на номер последнего  рисунка и  т. п.). 

В аннотации ( N таблиц, M рисунков и т. п.) просто вставить ссылки на эти закладки.
Этот вариант автоматически пройдет, если все последующие новые вставки  будут делаться до   текущего последнего элемента.  В противном случае  закладку на последний подсчитываемый элемент надо будет передвигать в новый конец.

3

Re: Подсчёт количества вхождений стиля в поле

Благодарю за ответ. Про закладки я покончил крепко думать, когда начал разбираться с полями, – просто закладки можно легче поломать, и у меня к ним поубавилось доверия. Поля во взаимодействии со свойствами документа мне кажутся теперь как-то посолиднее :> Тот вариант, что предложили Вы, неплохой, только тогда ещё один вопрос: а как быть с таблицами или рисунками, которые пронумерованы в пределах разделов (как у меня в примере) и размещены в приложениях? Там своя нумерация, и дополнительные закладки придётся делать столько раз, сколько разделов и приложений будет в документе (хотя стилем своих имён они не отличаются от тех, которые находятся в основной части). Притом если добавлять новые приложения, надо не забывать закладывать их рисунки и таблицы. Также при автоматической нумерации источников в библиографии (хотя это отдельная тема) такой способ не сработает, насколько я понимаю, потому что выделить сам номер нельзя.
А за участие спасибо :>

4

Re: Подсчёт количества вхождений стиля в поле

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

http://wordexpert.ru/page/kolichestvo-r … nte-makros

Отредактировано ЮВ (10.06.2011 18:07:13)

5

Re: Подсчёт количества вхождений стиля в поле

Извините, возможно, в самом деле надо было точней написать, просто я подумал, что примера приложенного хватит, а там у меня именно несквозная нумерация :>
Спасибо за ссылку, но макрос я бы предпочёл в этом случае всё же не использовать, потому что хочу получить результат именно полями. Для этого почти полностью подходит решение, которое предложил Александр Витер в комментарии. Оно годится для любой нумерации, только я ещё в силу своего недознания не разобрался, как начинать нумерацию по-новому в каждом приложении и сохранить при этом возможность подсчёта элементов через поле, задающее закладку в конце документа, во всём документе, а не только в последнем приложении. Что касается основной части, так там всё корректно считается, сколько бы разделов в ней ни было.
Альтернативное решение, конечно, хорошо, но может ли кто-то ответить, возможно ли всё-таки реализовать это спрашиваемым изначально способом??

6

Re: Подсчёт количества вхождений стиля в поле

закидываете в свои таблицы по одному полю SEQ Таблица_номер\* Arabic\n
обновляете все поля и всё
приведите пример применения поля If???

7

Re: Подсчёт количества вхождений стиля в поле

klanbarana пишет:

Для этого почти полностью подходит решение, которое предложил Александр Витер в комментарии. Оно годится для любой нумерации, только я ещё в силу своего недознания не разобрался, как начинать нумерацию по-новому в каждом приложении и сохранить при этом возможность подсчёта элементов через поле, задающее закладку в конце документа, во всём документе, а не только в последнем приложении.

Для каждого приложения  найдите сумму,  как  написано в комментарии.
А потом для всего документа сложите  полученные суммы.

8

Re: Подсчёт количества вхождений стиля в поле

ЮВ пишет:

Для каждого приложения  найдите сумму,  как  написано в комментарии.
А потом для всего документа сложите  полученные суммы.

Да, я на данном этапе именно так и сделал, но вообще хотелось бы больше получить независимости от потенциальных исправлений, то есть иметь готовый шаблон с нужными полями и работать уже непосредственно над содержимым документа, на остальное (например, на слежение за подсчётом элементов) не обращая внимания впоследствии.

Ципихович Эндрю пишет:

закидываете в свои таблицы по одному полю SEQ Таблица_номер\* Arabic\n

Может, я чего-то недопонял, только, как я прочитал в справке по Ворду, ключ \n используется по умолчанию. Получается, мне его указывать не надо, но я дополнительно использую ключ \s 1, поскольку нумерация элементов в тексте у меня не сквозная, а внутри каждого раздела (заголовки 1-го уровня) своя.

Ципихович Эндрю пишет:

приведите пример применения поля If???

Если Вы про мой дополнительный вопрос из первого сообщения, вот прикладываю тогда небольшой файл с примером, внутри которого заодно описана задача.

Post's attachments

Пример использования поля IF.doc 22.5 Кб, 7 скачиваний с 2011-06-13 

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

9

Re: Подсчёт количества вхождений стиля в поле

спасибо за пример, посмотрел - не удачный, то есть думать надо smile))
как у Вас нервов с этими заголовки 1-го уровня
Кисточкой пользуетесь??
Ктрл + 5 - выделили - жирным сделали и Ваши заголовки 1-го уровня
коту под хвост
делаю так, то что нужно в таблицу пусть и с одной строки, ну и что таблица ведь
имеет три столбца 1 имеет ширину 3. см, последний 2 см. как отступы
В средний столбец закидываю нужное, а в первом поле, где море инфы
и черта с два это поле какая кисточка возьмёт только если удалит кто-то
но это так рассуждать долго можно-файл тоже можно уничтожить

По вопросу в приложенном файле:

ActiveDocument.Fields(1).Update
Set Поле = ActiveDocument.Range(Start:=ActiveDocument.Fields(1).Code.Start, End:=ActiveDocument.Fields(1).Code.End)
'в объекте с именем ... шрифт сделать скрытым
Поле.Font.Hidden = True

10

Re: Подсчёт количества вхождений стиля в поле

посмотрел, в кавычки брать не обязательно: F Автор = Автор Известно Неизвестно

11

Re: Подсчёт количества вхождений стиля в поле

Вот в это поле IF заложено поле DOCPROPERTY AUTHOR, а что ещё можно ставить в условии??
Чтобы не было сообщения: Ошибка! Неизвестный код операции сравнения
где взять известные коды сравнения????

12

Re: Подсчёт количества вхождений стиля в поле

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

13

Re: Подсчёт количества вхождений стиля в поле

добрые люди подсказали
внешняя ссылка