Как узнать количество рисунков в документе word
Доброго времени суток!
У меня следующий вопрос: возможно ли посчитать количество рисунков по всему документу средствами word?
Например, есть возможность вставки поля количества страниц, а мне необходимо поле количества рисунков.
Конечно, можно и вручную посидеть посчитать, но документ довольно большой.
Заранее благодарю
В меню Вставка (Insert) в подменю Ссылка (Reference) выберите команду Название (Caption). Откроется диалоговое окно и в нем заполните:
Явного поля (типа "Кол-во страниц") для рисунков нет.
Рисунки - внешние внедренные объекты любого вида (а не собственные элементы Worda), поэтому Word их не идентифицирует и не может подсчитать.
Один из вариантов решения проблемы был предложен выше.
Есть и другие способы, зависящие от особенностей документа.
Например, если название рисунков оформлять уникальным стилем, то количество рисунков можно подсчитать как количество элементов текста с заданным стилем.
Если документ не содержит таблиц, то рисунки можно размещать в скрытую таблицу.
Есть макрос, который подсчитывает кол-во таблиц в документе
(n=ActiveDocument.Table.Count),
тогда он подсчитает и кол-во рисунков.
Наверное, есть и много других способов.
Я не думаю, что это настолько трудоемкий процесс, что его надо непременно автоматизировать.
Макрос — это для развития темы
Ваш способ тоже можно записать как макрос. Впрочем, он будет находить количество рисунков, вставленных ВНУТРЬ текста так называемых InLineShapes — по щелчку они обрамляются рамкой с чёрными маркерами, но не найдёт «накладных» фигур Shapes.
Оно и понятно: поиск работает только с текстом.
А вот этот работает Вызов через альт-F8 в вышеприложенном файле.
Код:Sub ShapesAccontDim i As LongOn Error GoTo NotinlineDim claud As InlineShape For Each claud In ActiveDocument.InlineShapes i = i 1 Next claudMsgBox "InlineShapes quantity = " & i & _" in the ActiveDocument"Notinline: MsgBox _"Количество фигур " & ActiveDocument.Shapes.Count & "."End Sub
[code:1o8zl75a]Public Sub CountPic()
Dim count as long
Dim shp as Shape
Dim inshp as InlneShape
For each shp in ActiveDocument.Shapes
If shp.Tyhe = msoPicture Then
count = count + 1
End if
Next shp
For each inshp in ActiveDocument.InlneShapes
If inshp.Tyhe = msoPicture Then
count = count + 1
End if
Next inshp
MsgBox "Всего рисунков" & count
End Sub[/code:1o8zl75a]
Данный код позволяет посчитать вставленные в документ рисунки, если в проверку inshp включить проверку OLE объекта, то можно более точно определить количество рисунков
Если в вашем документе Word есть несколько изображений, которые содержат как встроенные изображения, так и плавающие фигуры, теперь вы хотите подсчитать количество этих изображений во всем документе, как вы могли бы получить это число изображений быстро и правильно?
Подсчитайте количество встроенных изображений с помощью функции поиска и замены
Count количество встроенных изображений и плавающих фигур с кодом VBA
Подсчитайте количество встроенных изображений с функцией поиска и замены
Функция Найти и заменить в Word может помочь вам быстро и легко подсчитать количество встроенных изображений, пожалуйста сделайте следующее:
1 . Нажмите Home > Find > Advanced Find , см. Снимок экрана:
2 . В диалоговом окне Найти и заменить на вкладке Найти введите ^ g в Найдите текстовое поле , а затем выберите Основной документ из раскрывающегося списка Найти в , см. Снимок экрана:
3 . И затем вы можете увидеть, что количество встроенных изображений в этом документе Word было отображено, как показано на следующем снимке экрана:
Подсчитайте количество встроенных изображений и плавающих фигур с помощью кода VBA
Вышеупомянутый метод может только подсчитывать количество встроенных изображений, если в документе есть несколько плавающих фигур, они не будут подсчитаны. Следующий код VBA может помочь вам подсчитать как встроенные изображения, так и плавающие фигуры, пожалуйста, сделайте следующее:
1 . Удерживая нажатыми клавиши ALT + F11 , откройте окно Microsoft Visual Basic для приложений .
2 . Затем нажмите Вставить > Модуль , скопируйте и вставьте приведенный ниже код в открытый пустой модуль, см. Снимок экрана:
Код VBA: подсчитайте количество встроенных изображений и плавающих фигур:
3 . После вставки кода нажмите клавишу F5 , чтобы запустить этот код, и появится окно подсказки, чтобы сообщить вам, сколько встроенных изображений и плавающих фигур в этом документе Word, см. Снимок экрана:
Как посчитать количество изображений в документе Word?
Если в вашем документе Word есть несколько изображений, которые содержат как встроенные изображения, так и плавающие фигуры, теперь вы хотите подсчитать количество этих изображений во всем документе, как вы могли бы быстро и правильно получить количество изображений?
Подсчитайте количество встроенных изображений с помощью функции поиска и замены
Найти и заменить Функция в Word может помочь вам быстро и легко подсчитать количество встроенных изображений, пожалуйста, сделайте следующее:
1. Нажмите Главная > Найдите > Расширенный поиск, см. снимок экрана:
2. В Найти и заменить диалоговое окно под Найдите вкладка, введите ^g в Найти то, что текстовое поле, а затем выберите Основной документ из Найти в выпадающий список, см. снимок экрана:
3. И затем вы можете увидеть, что количество встроенных изображений в этом документе Word отображается, как показано на следующем снимке экрана:
Подсчитайте количество как встроенных изображений, так и плавающих фигур с помощью кода VBA
Вышеупомянутый метод может только подсчитывать количество встроенных изображений, если в документе есть плавающие фигуры, они не будут подсчитаны. Следующий код VBA может помочь вам подсчитать как встроенные изображения, так и плавающие фигуры, пожалуйста, сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2, Затем нажмите Вставить > Модули, скопируйте и вставьте приведенный ниже код в открытый пустой модуль, см. снимок экрана:
Код VBA: подсчитайте количество как встроенных изображений, так и плавающих фигур:
3. После вставки кода нажмите F5 нажмите клавишу для запуска этого кода, и появится окно подсказки, чтобы сообщить вам, сколько встроенных изображений и плавающих фигур в этом документе Word, см. снимок экрана:
Важное отступление! Прежде чем приступать к рассмотрению данного материала рекомендуется в обязательном порядке ознакомиться с устройством стилей в MS Word, а также пониманием принципов работы многоуровневых списков. Кроме того, очень поверхностно мы уже касались темы создания подписей объектов в статье о создании структуры документа, там же был затронут вопрос альтернативного метода подписей объектов.
Все вышеизложенное в равной степени относится к нумерации любого объекта будь то рисунок, таблица, формула или еще что-нибудь, который может встретиться при написании работы в текстовом процессоре MS Word. Не имеет и значение расположение автоматического номера: сверху над объектом, снизу по центру, либо с боку самого объекта. Также предложенный способ хорош не только своей универсальностью, но и независимостью от самого объекта, например, рисунки могут бить подписаны с помощью курсива, а таблицы выделены жирным и т.д.
Автоматическая нумерация объектов в текстовом процессоре MS Word является важной составляющей качественной работы. Причем качественной и с точки зрения самой работы, когда дальнейшее ее форматирование не приведет к нежелательным последствиям в виде плавающих номеров и неправильных ссылок по тексту, так и с точки зрения понимания работы в текстовом процессоре самого автора. Также, в зависимости от объемов текста и количества объектов, использование автоматической нумерации позволит сэкономить кучу нервов и времени. А благодаря возможности использования шаблонов, настройки можно производить единожды, многократно использую свои первоначальные труды.
Почему же так важна автоматическая нумерация объектов?
Во-первых, при добавлении нового объекта не стоит задумываться о том какой порядковый номер будет присвоен ему. Во-вторых, если объект будет добавлен в середине текста, то нумерация следующих за ним элементов не будет нарушена. В третьих, если необходимо, то все желаемые объекты можно с легкостью вынести в оглавление. Ну и в четвертых, ссылки на подписи созданных с помощью автонумерации объектов будут также автоматически обновляться.
Причин более чем достаточно, поэтому переходим непосредственно к рассмотрению создания автонумерации объектов.
Для начала необходимо определиться каким будет номер простым, например: Рис. 1, Рис. 2 и т.д. или составным: Рис. 1.1, Рис 2.5 (пятый рисунок второго раздела). В первом случае предварительные манипуляции с нумераций заголовков можно опустить, во втором, прежде чем перейти к настройке нумерации самих объектов, необходимо предварительно правильно настроить нумерацию разделов документа.
Когда номер объекта простой, достаточно настроить многоуровневый список и стиль для оформления подпись объекта, а потом привязать один из уровней списка к стилю подписи объекта. Как это делается уже рассматривали ранее, поэтому повторятся не будем.
Здесь рассмотрим вариант более сложный с составными номерами объектов. Как и раньше использоваться будет многоуровневый список с привязкой к стилям, который отвечают за нумерацию объектов.
Для начала создадим стили разделов документа, вернее модифицируем имеющиеся стили с названиями: Заголовок 1 и Заголовок 2. Поскольку номер подписи объекта будет составным, то сначала необходимо настроить нумерацию верхних уровней многоуровневого списка.
Оба модифицированных стиля созданы на основе стиля «Обычный» и имеют определенный настройки, которые, в рамках данного материала, не важны, поэтому на них детально останавливаться не будем.
Далее необходимо создать стили непосредственно для объектов которые планируется нумеровать. Если это рисунок, тогда создаем два дополнительных стиля. Первый непосредственно рисунок, обыкновенный ненумерованный стиль с выравниванием по центру (если, конечно же планируется размещать рисунки по центру), именно этим стилем форматируем сам рисунок, который вставляем, а второй подпись рисунка, нумерованный стиль уже привязанный к уровню многоуровневого списка, им подписываем созданный рисунок.
Хотя уже можно переходить непосредственно к настройке многоуровневого списка, создадим еще стили для подписи таблиц, а потом настроим нумерацию сразу для обоих типов объектов.
В зависимости от требований к оформлению текста, иногда можно обойтись и одним стилем, с которым следует и связать уровень многоуровневого списка, но рассмотрим случай когда номер таблицы идет особняком от самого названия таблицы. Итак, номер таблицы будет отформатирован курсивом и находится справа над таблицей.
Сам же заголовок таблицы будет основан на стиле обычный, полужирным с выравниванием по центру.
После того, как определились с объектами, можно создать многоуровневый список. Поскольку в текстовом документе может находится несколько многоуровневых списков, желательно под подписи объектов выделить отдельный список.
Если определенные подписи объектов будут иметь составные номера, тогда привязку уровней к стилям следует выполнять, привязывая к более высоким уровням те стили, номера которых должны находиться левее в составном номере. Т.е. если подпись рисунка включает номер заголовка первого уровня и свой собственный номер, тогда стиль «Заголовок 1» следует привязать к уровню выше стиля «Подпись рисунка». Что можно наблюдать на рисунке ниже.
Что касается взаимного размещения стилей «Подпись рисунка» и «Номер таблицы», то оно не имеет значения, поскольку их номера не влияю друг на друга. Там специально, оставлено место под возможную привязку к третьему уровню стиля «Заголовок 3», однако это следует делать обязательно, только если его номер планируется использовать в составных номерах подписи рисунка и/или таблицы, в противном случае, его нахождение в иерархии списка роли не играет, как, впрочем, и расположение стиля «Заголовок 2».
По тексту иногда требуется (а если это научный труд, тогда в обязательном порядке) делать ссылки на объекты (например, см. рис 1.13). Поскольку их оформление выполнено с использованием стилей, это сделать очень просто, достаточно перейти на вкладку «Ссылки» и вставить перекрестную ссылку.
При последующей модификации текста (удаление или добавление новых объектов), перекрестные ссылки тоже будут обновляться, достаточно выделить текст и нажать клавишу «F9». После вставки перекрестной ссылки, иногда возникает необходимость провести определенную настройку номера (например, чтобы ссылка писалась с маленькой буквы или в ссылке убрать текстовую часть, если рисунки подписываются как «рисунок», а ссылку требуется сделать в стиле «рис.» и т.д.) делается это с помощью контекстного меню/ изменить поле.
Описанный в статье способ возможно не самый очевидный, как, в принципе, и не единственный, однако он, по мнению автора, лучший на данный момент.
Иногда на строке состояние не отображается статистических данных из количеством слов в тексте, в этом случае необходимо эту информацию вывести. Делается это с помощью правого щелчка мыши по строке состояния и выбора необходимого пункта.
С такой статистической информацией все понятно, однако, бывают случаи, когда необходимо посчитать не просто слова и пробелы с абзацами, а рисунки, таблицы или формулы. Если в тексте идет сквозная нумерация данных объектов (Рис. 1 … n), тогда все более менее понятно. Просто смотрим на последний номер объекта, который нам и скажет количество всех объектов данного типа (рисунки, таблицы и т.д.), главное не допустить ошибки при составлении номеров, если они были составлены вручную. Однако, если нумерация велась в рамках раздела (Рис. 1.1 … Рис. 3.4 … Рис. n.m) тогда задача сводится к тому, чтобы вывести сумму всех объектов по разделам.
Подобные операции можно произвести вручную, здесь же рассмотрим, как осуществить такой подсчет за пару секунд. Более того, если возникнет необходимость все пронумерованные объекты (рисунки, таблицы…) можно так же быстро вывести их в оглавление документа.
Во-первых, необходимо чтобы все объекты в тексте были автоматически пронумерованы с помощью стилей, как этого добиться подробно рассказано здесь. После проделанных манипуляций все объекты в тексте MS Word автоматически нумеруются, достаточно только выбирать необходимый стиль из окна стилей при подписи объекта. Естественно, если возникнет желание вставить дополнительный рисунок в начале или середине текста, то перенумерация будет произведена в автоматическом режиме. То же относится и к удалению объекта.
Все это было описано в статье, здесь же рассмотрим возможность быстрого выведение списка объектов в оглавление (при необходимости) и подсчета их без ползанья по всему тексту выуживая последний рисунок каждого раздела.
Итак, что же нужно сделать? Как бы просто это не звучало, но если все объекты были оформлены в соответствии с нашими рекомендациями, то достаточно только присвоить определенный уровень стилю оформления определенного объекта, например, рисунка.
После этого в разделе «Абзац» присвоить необходимый уровень стилю.
Что касается уровня, который следует выбрать, здесь лучше выбрать на один уровень ниже, нежели используется в тексте. Что имеется ввиду, если в тексте используются заголовки 1 и 2го уровней, тогда выбираем 3й, если 1, 2, 3й, тогда 4й и т. д. Как правило больше 3х уровней заголовков не используются в текстах, а большинство вообще обходится 2мя. Однако, это просто рекомендация, если для подписи рисунка присвоить уровень заголовка 2, то все также будет работать, просто при обновлении общего оглавления названия рисунков буду также присутствовать, если при создании оглавления вручную не указать, что отображение не требуется. Более подробно описано в нашем материале о создании сложных оглавлений.
После присвоение стилю уровня (в нашем случае был присвоен 2й уровень) все рисунки стали отображаться в панели навигации.
Естественно теперь не составить труда посмотреть на общее количество рисунков в тексте или же вообще вывести отдельный список с иллюстрациями или таблицами, например.
Это не единственный способ подсчета иллюстраций или же создания перечня с необходимыми объектами. В текстовом процессоре MS Word существует такой инструмент из вкладки «Ссылки»/ «Список иллюстраций», однако, способ описанный выше (построенный на управлении стилями) предоставляет более широкие возможности к оформлению самого документа и его производных.
Читайте также: