Автоматическая нумерация билетов word

Rustam спрашивает:

Есть задача: нужно пронумеровать билеты от 00001 до 10000. Шаблон билетов сделан в ворде , 6 штук на один лист. При этом в разные дни нужно разное кол-во билетов. Понятно, что нумеровать вручную очень рутинно, как автоматизировать эту задачу?

Решить задачу можно, если добавить в шаблон документа в каждый билет вместо номеров, проставляемых вручную, поле следующего содержания:

{seq MyList # «00000»}

Поле SEQ предназначено для последовательной нумерации глав, таблиц, рисунков и других элементов документа.

Таким образом, при последующем создании документа из этого шаблона (шаблон должен быть формата .dot) у вас будут автоматически и последовательно пронумерованы все билеты на листе.

Сам шаблон поместите в какой-нибудь каталог (лучше всего в C:Documents and SettingsApplication DataMicrosoftШаблоны) и затем создавайте документы на его основе из редактора Word. В итоге все 6 блоков на листе у вас будут иметь последовательные номера: от 00001 до 00006.

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

Дополнительно: для тех, кто читает по английски (впрочем, необязательно. Там и так все ясно.), может быть интересна статья Г.Майора на эту тему — Numbered Labels.

Содержание

  • 1 Как в «Ворде» сделать нумерацию в таблице?
  • 2 Как сделать нумерацию в таблице в другом формате?
  • 3 Как в «Ворде» сделать автоматическую нумерацию таблиц?
  • 4 Как пронумеровать строки
  • 5 Автоматически нумеруем строки в таблице

≡  22 Июль 2015   ·  Рубрика:

Великолепный MS Word

В данной статье я расскажу вам то, на что вы не обращаете внимание в таблице. Во многих таблицах имеется колонка номера по порядку. Эта колонка говорит о том, под каким номером находится та или иная строка. Многие не знают о том, что для этой колонки можно установить настройки так, что она будет автоматически нумеровать все строки. Некоторые скажут «зачем, я и сам прекрасно справляюсь с данной задачей». Но правда в том, что подобный подход не практичен. Такое заявление может сделать только человек, которому не приходилось добавлять новую строку или удалять имеющуюся из таблицы.

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

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

Пустая таблица для нумерации строк

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

Нумерация первой ячейки в таблице

Теперь, когда мы добавим новую строку, то первая колонка этой строки будет заполнена соответствующим номером строки.

Автонумерация при добавлении новіх строк в таблице

Ну а теперь внимание! То ради чего нужно делать автоматическую нумерацию первой колонки. Давайте удалим вторую строку, с данными о грушах.

Автонумерация при редактировании таблицы Word

Как вы смогли легко убедится, порядковый номер для строки с данными о сливах изменился автоматически.

Хочу напомнить, что данный подход очень актуальный, когда приходится работать с большими списками. Например, список сотрудников или учащихся. В таких списках важно отмечать не только ударение над фамилиями, но и правильный порядковый номер. Ведь эти списки могут меняться.

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

Нумерация строк в имеющейся таблице Word

Нередко при создании текстового документа в «Ворде» появляется необходимость вставить в текст таблицу с нумерацией. Некоторых неопытных пользователей компьютера это затруднение приводит в тупик. Какие вкладки открывать, и на какие кнопки нажимать? Такие вопросы могут отнять много времени и нервов.

Как в «Ворде» сделать нумерацию в таблице?

На самом деле все просто. Необходимо выполнить следующие действия:

  1. Выделить ячейки в таблице, для которых необходимо создать нумерацию.
  2. На верхней панели ищем вкладку под названием «Главная». Обычно она включена по умолчанию, но бывает по-разному.
  3. В категории «Абзац» находим кнопку «Нумерация». Это маленький значок, изображающий цифры от одного до трех, расположенные столбиком. Жмем на кнопку.

как сделать автонумерацию в word

Как сделать нумерацию в таблице в другом формате?

Зная, как в «Ворде» сделать нумерацию в таблице в другом формате, вы сможете разнообразить таблицы. Это особенно важно, если таблиц в тексте много. По умолчанию ячейки нумеруются от одного и выше. В случае, если вам необходимо изменить формат нумерации, то выбрав необходимую ячейку, щелкаете по ней правой кнопкой мыши. Затем снова выбираем кнопку «Нумерация». В появившемся списке выбираем «Определить новый формат номера». В открывшемся окне устанавливаем необходимые параметры.ся списке выбираем «Определить новый формат номера». В открывшемся окне устанавливаем необходимые параметры.

как сделать автонумерацию в word

Как в «Ворде» сделать автоматическую нумерацию таблиц?

Иногда приходится сталкиваться с ситуациями, когда приходится работать с большим количество таблиц в тексте. А так как они все должны быть пронумерованы – это может отнять много времени, если выполнять данную задачу вручную для каждой таблицы отдельно. На помощь приходит другая функция «Ворд» – «Автоматическая нумерация таблиц».

Такая функция позволяет не проставлять каждый раз нумерацию, теряя при этом время. В случае, если текст длинный, а очередная таблица расположена в середине, то можно быть уверенным в том, что номер нового объекта поставлен правильно, и порядок не нарушен. Большим плюсом нумерации является возможность внести номера всех таблиц в оглавление. А также при создании автоматической нумерации параллельно обновляются и ссылки на названия таблиц, с помощью которых можно в считанные секунды найти нужный объект.

как сделать автонумерацию в word

Итак, этот полезный элемент можно включить следующим способом:

  1. Выделяем таблицу и нажимаем правую кнопку мыши.
  2. В появившемся списке выбираем пункт «Вставить название». Этот же пункт можно найти во вкладке «Ссылки».
  3. Появится окно, в котором необходимо настроить параметры. Вводим название таблицы. Подпись можно оставить без изменения, ввести свою или удалить ее вообще, поставив галочку в графе «Исключить подпись из названия». В этом случае останется номер.

В текстовом редакторе Microsoft Word можно создавать документы различного содержания – в них может быть просто текст, таблицы, графики, диаграммы, перечень чего-либо и прочее. И в некоторых случаях, может потребоваться посчитать строки с текстом или пронумеровать каждую новую в таблице.

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

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

Как пронумеровать строки

Для примера возьму вот такой текст.

как сделать автонумерацию в word

Сначала откройте вкладку «Разметка страницы» и в группе «Параметры страницы» нажмите на маленькую стрелочку на кнопке «Номера строк».

как сделать автонумерацию в word

Из выпадающего списка выберите один из вариантов.

Можно пронумеровать их в документе «Непрерывно» – цифры будут проставлены от начала до конца документа в каждом рядке. Если в тексте есть разрывы разделов, тогда она продолжится до первого установленного разрыва.

«На каждой странице» – значение на каждой новой странице будет начинаться с единицы.

«В каждом разделе» – удобно использовать, если текст поделен на разделы. В данном случае, они будут посчитаны только в том разделе, где Вы установили курсор. Перейдя к следующему разделу и выбрав данный пункт, она начнется заново – с единицы.

Если необходимо посчитать рядки во всем документе, за исключением пары абзацев, тогда ставьте курсор в них и выбирайте из списка «Запретить в текущем абзаце».

как сделать автонумерацию в word

Я выбрала «Непрерывную» нумерацию, и на первом же установленном разрыве раздела она оборвалась. Чтобы ее продолжить нужно поставить курсор в следующий абзац с текстом. А затем из выпадающего списка можете выбрать или «Непрерывно» – чтобы номера продолжились, или «В каждом разделе» – чтобы начать нумеровать с единицы.

как сделать автонумерацию в word

Если нужно оставить абзац без нумерации, это может быть просто пустая строчка, или целый абзац с текстом, тогда поставьте в него курсор и нажмите «Номера строк» – «Запретить в текущем абзаце». Нумерация в нем удалится и продолжиться дальше в следующем абзаце.

как сделать автонумерацию в word

В выпадающем списке «Номера строк» также есть пункт «Варианты нумерации».

как сделать автонумерацию в word

Нажав на него, откроется окно «Параметры страницы» на вкладке «Источник бумаги». Здесь кликните по кнопке «Нумерация строк».

как сделать автонумерацию в word

Откроется небольшое окошко. В нем можно задать начальное значение, на каком расстоянии она будет находиться от текста и шаг расстановки номеров. После этого нажмите «ОК» в данном окошке и в окне «Параметры страницы».

В примере выбран «Шаг» – «2» и «От текста» – «0,2 см».

как сделать автонумерацию в word

Автоматически нумеруем строки в таблице

Для этого сначала необходимо создать отдельный столбец, который будем использовать для простановки номеров. Затем выделите его и на вкладке «Главная» в группе «Абзац» нажмите на стрелочку на кнопке «Нумерация».

Обратите внимание, что в одной ячейке может быть несколько строк. После расстановки нумерации, они будут считаться за одну. Поэтому, если нужно пронумеровать именно каждый ряд с тектсом, в столбце «№» разделите соответствующую ячейку на столько, сколько у Вас в ней строк текста. Потом можно убрать границы в таблице в Ворде для этой ячейки, но при этом расставленные цифры останутся.

как сделать автонумерацию в word

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

Подробнее прочесть про то, как нумеровать, можно в статье виды списков в Ворде.

как сделать автонумерацию в word

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

как сделать автонумерацию в word

Для того чтобы изменить значение для продолжения номеров, выделите нужный и в соответствующем выпадающем списке выберите пункт «Задать начальное значение».

как сделать автонумерацию в word

В следующем окне поставьте маркер в поле «начать новый список» и выберите для него цифру, с которой он будет начинаться. Нажмите «ОК».

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

В примере, я начала новый список с единицы.

как сделать автонумерацию в word

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

Поделитесь статьёй с друзьями:

Включение и отключение автоматических маркеров и нумерации

По умолчанию при введите звездочка или 1., по умолчанию Word считает, что вы пытаетесь начать маркированный или нумерованный список. Вы можете отключить функцию автоматического распознавания списков.

Перейдите в меню Параметры > > проверки.

Выберите Параметры автоcorrect, а затем переведите вкладку Автоформат при типе.

Выберите или отключим автоматические списки с маркерами или автоматически про номера.

Как включить автоматическую нумерацию в Word?

Как изменить автоматическую нумерацию в ворде?

Изменение нумерации в нумерованном списке

  1. Дважды щелкните номера в списке. Текст не будет выбран.
  2. Щелкните правой кнопкой мыши номер, который вы хотите изменить.
  3. Нажмите кнопку Set value (нумерация).
  4. В поле задать значение для: используйте стрелки, чтобы изменить значение на нужное число.

Как сделать автоматическую нумерацию пунктов в ворде?

Откройте документ, в котором используются встроенные стили заголовков, и выберите первый заголовок 1. На вкладке Главная в группе Абзац щелкните Многоуровневый список. В окне Библиотека списков выберите нужный стиль нумерации.

Как сделать автоматическую нумерацию?

Автоматическая нумерация в таблице Word

  1. Выделяем в таблице ячейки, которые необходимо пронумеровать.
  2. На главной закладке верхней панели нажимаем на значок «Нумерация», тот самый, которым мы делаем нумерованные списки в тексте, и любуемся на результат.

Как изменить нумерацию в списке в ворде?

Изменение нумерации в нумерованном списке

  1. Выделите номер, который нужно изменить.
  2. На вкладке Главная в группе Абзац щелкните стрелку рядом с кнопкой Нумерованный список и выберите пункт Параметры нумерации.
  3. В поле Начиная с введите номер, с которого должен начинаться список.

Как убрать автоматическую нумерацию строк в ворде?

Включение и отключение автоматических маркеров и нумерации

  1. Перейдите в раздел > Параметры > проверки правописания.
  2. Нажмите кнопку Параметры автозаменыи выберите вкладку Автоформат при вводе .
  3. Установите или снимите флажки автоматических маркированных списков или автоматических нумерованных списков.
  4. Нажмите кнопку ОК.

Как убрать автоматическую нумерацию страниц в ворде?

Удаление номеров страниц

  1. Перейдите к разделу Вставка > Номер страницы и выберите команду Удалить номера страниц.
  2. Если кнопка Удалить номера страниц недоступна или некоторые номера страниц сохранились, дважды щелкните верхний или нижний колонтитул, выделите номер страницы и нажмите клавишу DELETE.

Как продолжить нумерацию абзацев в ворде?

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

Как сделать многоуровневую нумерацию в ворде?

Многоуровневая нумерация в Word

  1. Кликните по кнопке «Многоуровневый список», расположенной в группе «Абзац» (вкладка «Главная»).
  2. Введите элементы списка. …
  3. Кликните по кнопке «Многоуровневый список», расположенной в группе «Абзац» (вкладка «Главная»).
  4. Выберите «Определить новый многоуровневый список».

Как пронумеровать параграфы в Word?

На вкладке «Главная» есть раздел «Абзац». Вторая кнопка на нем — «Нумерация». Выбираете абзац и жмете на кнопку нумерации. Числа проставятся автоматически.

Как в Excel сделать цифры по порядку?

Нумерация строк с помощью функции СТРОКА

  1. Введите в первую ячейку диапазона, который необходимо пронумеровать, формулу =СТРОКА(A1). Функция СТРОКА возвращает номер строки, на которую указана ссылка. …
  2. Перетащите маркер заполнения , охватив диапазон, который необходимо заполнить.

Как настроить автоматическую нумерацию таблиц в ворде?

Автоматическая нумерация таблиц в Ворде делается с помощью пункта меню «Вставить название», который находится на вкладке «Ссылки». Также данный пункт можно найти в появляющемся меню при нажатии правой кнопкой мыши на таблицу. После выбора данного пункта появится окошко, в котором нужно настроить нумерацию таблицы.

Как удалить маркеры или номера в списке?

Удаление символа маркера

  1. В диалоговом окне «Маркеры и нумерация» выберите в меню «Тип списка» значение «Маркированный».
  2. Выделите символ маркера, который надо удалить, а затем нажмите «Удалить» (первый встроенный символ маркера не может быть удален).

Как сдвинуть список в ворде?

Изменение отступов маркированного списка

  1. Выберите маркеры в списке, щелкнув маркер. …
  2. Щелкните правой кнопкой мыши и выберите команду Изменение отступов в списке.
  3. Измените расстояние отступа маркера с поля, щелкнув стрелки в поле Расположение маркера или изменяя расстояние между маркером и текстом, щелкая стрелки в поле отступ текста .

Что такое список в ворде?

Список – это совокупность абзацев, которые содержат перечисления и оформлены в виде пунктов. Выделяют три вида списков: нумерованные, маркированные и многоуровневые. УЭ 2. Нумерованные списки.

Как пронумеровать строки и столбцы в таблице ворда автоматически

Чем больше знакомишься с текстовым редактором Ворд, тем больше убеждаешься, что в нем предусмотрено практически все. Сегодня мы узнаем, как пронумеровать строки в таблице Ворд в автоматическом режиме. А заодно рассмотрим и такую же нумерацию для столбцов.

Большинство пользователей не знают о такой функции и нумеруют строки вручную. Хорошо, когда таблица не большая, а если в ней 100 и более строк. А если необходимо добавить строку в середине? Тогда всю нумерацию придется переделывать. Это же ужас какой-то!

Но этого ужаса можно избежать, если воспользоваться автоматической нумерацией строк и столбцов. О том, как это сделать, мы сейчас и поговорим. Пример я приведу на примере Microsoft Word 2013, но все то же самое можно применить и в других версиях программы.

Как пронумеровать строки в таблице ворд

Нумеруем строки в таблице Ворда автоматически

Лучше всего пронумеровать строки в таблице ворд в самом начале, как только вы создали таблицу, и строк в ней пока мало.

Выделяем столбец, в котором будет стоять нумерация строк.

После этого переходим на вкладке «Главная» в блок «Абзац» и выбираем иконку «Нумерация».

Если вам необходимо пронумеровать строки римскими цифрами, то нажмите на маленькую стрелочку с правой стороны иконки «Нумерация». Откроется библиотека нумерации, где можно выбрать другой формат номера.

Точно так же можно выбрать латинские буквы.

А если вы в открывшемся меню нажмете на строку «Определить свой формат номера…»,

то откроется окошко, в котором можно задать свой формат нумерации.

Нумеруем столбцы в Ворде в автоматическом режиме

Точно так же, выделяем любую строку таблицы.

Переходим на вкладку «Главная». Находим на ней иконку «Нумерация» и, либо жмем по ней мышкой, либо открываем список форматов и выбираем нумерацию в нем.

Если после заполнения таблицы вам необходимо добавить или удалить строку, или столбец, то нумерация автоматически изменится на правильный порядок. Никаких пробелов в нумерации не будет.

Маленький секрет:

Если необходимо в какой-то строке или колонке начать нумерацию заново, то устанавливаем курсор на ту строку или столбец, откуда будет начало, и кликаем правой кнопкой мыши. Выбираем «Начать заново».

Теперь нумерация изменилась, и с пятой строки она пошла сначала.

dubatovka

1

Автоматическое изменение номеров при печати

12.01.2012, 20:31. Показов 40771. Ответов 31


Студворк — интернет-сервис помощи студентам

Здравствуйте.

Очень нуждаюсь в помощи. Необходимо напечатать 2000 договоров и постоянно изменять номера .. на 400-тых уже готов выкинуть компутер в окно (

Проблема в следующем:

1. Имеем договора.
2. Каждому договору должен быть присвоен 4-значный номер (пример: 0001, 1929 и т.п.)
3. «Полный» Договор состоит из 2 листов.
4. На первом листе 2 раза употребляется номер договора.
5. На втором листе 2 раза употребляется тот же номер договора.
Тоесть одна копия договора имеет 2 листа и в каждом по 2 раза употребляется один и тот же номер договора.
5. Задача — сделать так, чтобы автоматически при печати на лазерном принтере изменялись номера.
Тоесть есть вордовский документ единственный лист. Мы нажимаем печать 1000 листов. И компутер сам каждые 4 листа меняет номера: напечатал первый лист с номером 0001 + повтор 0001 на нем же, второй лист 0001 + повтор 0001 на немже, теперь компьютер изменил на единицу больше — далее 2 листа вылазят с номерами 0002 и т.д.

Добавлено через 7 минут
PS / И, если первый вопрос возможен , возможно ли, чтобы на последнем распечатанном номере сохранять документ .. и он продолжал уже с того, на котором остановился?

62 / 15 / 1

Регистрация: 14.12.2010

Сообщений: 15

13.01.2012, 05:28

2

dubatovka
Можно использовать механизм слияния для создания бланка писем при рассылке:
— создать источник данных (к примеру в Excel’е) с требующимися номерами договоров;
— в основном документе вставить поля слияния;
— завершить и распечатать (печать именно из рассылки).



0



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

13.01.2012, 16:36

3

Нужно сделать закладку в первом месте с именем (в примере) DocumentNumber, в 3 -х других местах вставить перекрестную ссылку на эту закладку.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Печать_N_док()
 Dim Nachalo As Long, Konec As Long, i As Long, MemStart As Long, MemEnd As Long, myRange As Range
 Konec = InputBox("Введите номер последнего распечатываемого документа")
 Nachalo = ActiveDocument.Bookmarks("DocumentNumber").Range + 1
 For i = Nachalo To Konec
    MemStart = ActiveDocument.Bookmarks("DocumentNumber").Range.Start
    MemEnd = ActiveDocument.Bookmarks("DocumentNumber").Range.End
    ActiveDocument.Bookmarks("DocumentNumber").Range = Format(i, "0000")
    Set myRange = ActiveDocument.Range(Start:=MemStart, End:=MemEnd)
    With ActiveDocument.Bookmarks
        .Add Range:=myRange, Name:="DocumentNumber"
        .DefaultSorting = wdSortByLocation
        .ShowHidden = False
    End With
    ActiveDocument.Fields.Update
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
 Next i
End Sub

Вложения

Тип файла: doc Печать_смена_номера.doc (45.5 Кб, 1008 просмотров)



4



0 / 0 / 0

Регистрация: 18.04.2016

Сообщений: 3

18.04.2016, 21:47

4

KoGG
Спасибо Вам, очень помогли



0



0 / 0 / 0

Регистрация: 19.04.2017

Сообщений: 5

19.04.2017, 13:22

5

Добрый день!
использовала ваш макрос (за него большое спасибо, очень облегчил мою работу) для распечатки бланков с автоматической нумерацией (в частности, бланк доверенности).
в чем у меня возник вопрос. Делаю по 2 бланка на 1 листе. Для этого вручную переворачиваю бумагу. Распечатала 10 бланков, перевернула и еще 10 распечатала. Таким образом на 1 листе у меня по 2 бланка с различной нумерацией.
пробовала изменить макрос (range+2), создав 2 страничку, номер через закладку прописала DocumentNumber2. в 1случае нумерация происходила только 1стр., вторая не менялась. во 2случае поправила в макрос строки, стал нумеровать обе странички, со сдвигом.в итоге поняла, что проще попросить о помощи специалистов)
задача — печатать 1 бланк (документ состоит из 1 страницы в WORD) с автоматической нумерацией в кол-ве два бланка на 1 листе формата А4. То есть на 1 листе — № 0101 и № 0102, на 2 листе № 0103 и № 0104 и т.д.
Глубочайше буду благодарна за оказанную помощь в редактировании текущего макроса.



0



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

19.04.2017, 19:48

6

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub Печать_N_док2()
 Dim Nachalo As Long, Konec As Long, i As Long, MemStart As Long, MemEnd As Long, myRange As Range
 Konec = InputBox("Введите номер последнего распечатываемого документа")
 Nachalo = ActiveDocument.Bookmarks("DocumentNumber2").Range + 1
 For i = Nachalo To Konec Step 2
    MemStart = ActiveDocument.Bookmarks("DocumentNumber").Range.Start
    MemEnd = ActiveDocument.Bookmarks("DocumentNumber").Range.End
    ActiveDocument.Bookmarks("DocumentNumber").Range = Format(i, "0000")
    Set myRange = ActiveDocument.Range(Start:=MemStart, End:=MemEnd)
    With ActiveDocument.Bookmarks
        .Add Range:=myRange, Name:="DocumentNumber"
        .DefaultSorting = wdSortByLocation
        .ShowHidden = False
    End With
    MemStart = ActiveDocument.Bookmarks("DocumentNumber2").Range.Start
    MemEnd = ActiveDocument.Bookmarks("DocumentNumber2").Range.End
    ActiveDocument.Bookmarks("DocumentNumber").Range = Format(i+1, "0000")
    Set myRange = ActiveDocument.Range(Start:=MemStart, End:=MemEnd)
    With ActiveDocument.Bookmarks
        .Add Range:=myRange, Name:="DocumentNumber2"
        .DefaultSorting = wdSortByLocation
        .ShowHidden = False
    End With
    ActiveDocument.Fields.Update
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
 Next i
End Sub



0



0 / 0 / 0

Регистрация: 19.04.2017

Сообщений: 5

20.04.2017, 08:09

7

Доброе утро!
Увидела ответ с макросом и скорее пробовать… А не получается…
Выдает ошибку…
Итак, № доверенности проставляется дважды на листе. DocumentNumber -закладка и второй раз перекрестная ссылка на эту закладку. Это 1 лист. На втором листе — DocumentNumber2 — закладка и второй раз тоже перекрестная ссылка на эту закладку.
Так вот, на 1 листе номер меняется в закладке на число которое я ставлю последним в задании, в ссылке выдается «ошибка! источник ссылки не найден!», а на 2м листе номер не изменился, остался прежним…
Сначала решила, что закладка слетела. Сделала все заново.. Ничего подобного.. Слетает в момент распечатывания из макроса.. Делаю вложение к ответу «до» и «после».. Правда WORD документ почему-то тяжелый, прикрепляю скрины.

Миниатюры

Автоматическое изменение номеров при печати
 

Автоматическое изменение номеров при печати
 



0



1233 / 671 / 238

Регистрация: 22.12.2015

Сообщений: 2,092

20.04.2017, 09:12

8

mir chaya, почему не хотите использовать вполне рабочий вариант:

Цитата
Сообщение от AlexSyr
Посмотреть сообщение

Можно использовать механизм слияния для создания бланка писем при рассылке:

в общем-то инструмент изначально специально для вашей задачи и предназначен.



0



0 / 0 / 0

Регистрация: 19.04.2017

Сообщений: 5

20.04.2017, 09:31

9

Dinoxromniy, благодарю за участие, но вот этот вариант как раз мне и не подходит.. Почему, собственно, я и воспользовалась схемой с макросом .. Доработать надо просто.. Я, к сожалению, не программист, что-то знаю, конечно, но недостаточно..



0



Dinoxromniy

20.04.2017, 09:33

Не по теме:

Цитата
Сообщение от Dinoxromniy
Посмотреть сообщение

почему не хотите использовать вполне рабочий вариант

Цитата
Сообщение от mir chaya
Посмотреть сообщение

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

Спасибо за разъяснение, теперь уложилось в голове.



0



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

20.04.2017, 20:04

11

Возможно перекрестная ссылка рушится, так как закладка при работе исчезает, а потом вставляется новая с таким же именем.
Вариант без перекрестных ссылок. 2 бланка на одну страницу.
Каждое поле для нумерации должно быть уникальным: DocumentNumber11 , DocumentNumber12 , DocumentNumber21, DocumentNumber22

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Печать_N_док2()
 Dim Nachalo&, Konec&, i&, j&, MemStart&, MemEnd&, myRange As Range , Ar
 Ar= Array("DocumentNumber11" , "DocumentNumber12" , "DocumentNumber21", "DocumentNumber22")
 Konec = InputBox("Введите номер последнего распечатываемого документа")
 Nachalo = ActiveDocument.Bookmarks("DocumentNumber22").Range + 1
 For i = Nachalo To Konec Step 2
    For j=0 to Ubound(Ar)
      MemStart = ActiveDocument.Bookmarks(Ar(j)).Range.Start
      MemEnd = ActiveDocument.Bookmarks(Ar(j)).Range.End
      ActiveDocument.Bookmarks(Ar(j)).Range = Format(i+j2, "0000")
      Set myRange = ActiveDocument.Range(Start:=MemStart, End:=MemEnd)
      With ActiveDocument.Bookmarks
          .Add Range:=myRange, Name:=Ar(j)
          .DefaultSorting = wdSortByLocation
          .ShowHidden = False
      End With
    ActiveDocument.Fields.Update
    Next j
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
 Next i
End Sub



0



0 / 0 / 0

Регистрация: 19.04.2017

Сообщений: 5

21.04.2017, 07:35

12

KoGG, спасибоооооооо!!!!!! все работает!!!!!!!!!!!
в итоге методом слияния я заполняю шаблон, а печатаю через макрос)) и это чудо сколько времени и нервов теперь сэкономлено!!!!! безграничная благодарность вам!!!!!



0



0 / 0 / 0

Регистрация: 14.06.2017

Сообщений: 2

14.06.2017, 20:54

13

Добрый вечер! Попытался использовать макрос, но не учел, что он именно 1000 шт пытается распечатать!) Мне гораздо меньше надо, подскажите, где править, каждый раз произвольное количество нужно будет. Еще мне теперь принтер не унять))) но с этим думаю сам разберусь.



0



0 / 0 / 0

Регистрация: 19.04.2017

Сообщений: 5

15.06.2017, 06:34

14

Доброе утро! Baden13, если вы зададите конечный результат 1000, то, естественно, он вам 1000 и напечатает. Лично я делаю по 10, 20,30 шт. Сохраняю документ после печати и на след раз порядковый номер не сбивается, а продолжается. На сегодняшнее утро у меня последний номер 2990, следовательно, если мне надо распечатать 20 документов, то в макросе задам число 3010. Все гениальное — просто! =)
Хорошего плодотворного дня!



0



0 / 0 / 0

Регистрация: 14.06.2017

Сообщений: 2

15.06.2017, 14:38

15

Спасибо за ответ!
Теперь новая проблема возникла, мне необходимо периодически печатать заданные интервалы номеров договоров, например с 17012 по 17022, если при помощи макроса нумерация меняется во время его работы, то потом как задать новый интервал(его начало)? Если задаю вручную в документе, все слетает, при запуске макроса число растет по неведомому алгоритму, на печать отправляется большое количество страниц и остановить это возможно только завершением процесса через диспетчер задач.

Добавлено через 51 минуту
Вроде разобрался, после ручного корректирования нужно закладку обновить.

А вот еще вопрос: если у меня документ двухсторонний, номер договора в шапке на одной и другой стороне листа, возможно как-то доработать макрос, чтобы использовать «двухстороннюю печать вручную»?



0



0 / 0 / 0

Регистрация: 12.07.2017

Сообщений: 104

12.07.2017, 13:25

16

Доброго времени суток!
Не подскажете, как пользоваться?
Нужно распечатать кучу бланков с нумерацией.
Я так понял надо в файле создать бланк, далее проставить в нужном месте где д.б. номер закладку.
Запустить макрос…
Но выскакивает ошибка:

Run-time error ’13’:
Type mismatch

В отладке ругается на:

Nachalo = ActiveDocument.Bookmarks(«DocumentNumber»).Range + 1

Что делать? Спасибо.



0



0 / 0 / 0

Регистрация: 11.08.2018

Сообщений: 1

11.08.2018, 09:57

17

Доброго времени суток! Нужна нумерация билетов, на А4 их расположено 10 шт, нумерация должна идти так 1 лист 1-10, второй 11-20 и т.д.
Может кто помочь в этом вопросе?
тираж 70000, вручную вбивать номера с ума можно сойти



0



0 / 0 / 0

Регистрация: 26.04.2019

Сообщений: 5

26.04.2019, 13:24

18

Подскажите как использовать Ваш макрос, если нужно при печати менялись 2 значения (номер паспорта и серийный номер).
Возможно задать количество листов печати и начало нумерации (номер паспорта и серийный номер) печати?



0



Модератор

Эксперт MS Access

11342 / 4661 / 748

Регистрация: 07.08.2010

Сообщений: 13,505

Записей в блоге: 4

26.04.2019, 14:13

19

Цитата
Сообщение от ibadrobot
Посмотреть сообщение

2 значения (номер паспорта и серийный номер).

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



1



0 / 0 / 0

Регистрация: 26.04.2019

Сообщений: 5

26.04.2019, 14:23

20

Мне хотя бы простой вариант сделать.
Что бы серийный номер оборудования печатался в 2-х местах. Но вводить первый номер (например: 9810) и количество листов для печати бланков паспортов.
Печать двухсторонняя, А4 и на одном листе две части паспорта. Так сказать книжная печать.



0



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

Несмотря на то что материала на подобную тематику написано достаточно, многие продолжают использовать компьютер на уровне печатной машинки не задумываясь о том, что половину рутинной работы можно переложить на тот самый Word.

В статье намеренно не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc, Confluence как более сложные и узкоспециализированные, а статью хотелось сделать доступной и понятной не только молодым людям, но и людям старших возрастов.

Все описанные действия выполнены в программе «Microsoft Word профессиональный плюс 2019». В предыдущих версиях Word последовательность и названия команд могут отличаться, но описанная функциональность так или иначе существует. По минимуму использованы макросы и автоматизация с помощью сторонних средств (в частности Python, использована версия 3.6).

Описанные операции

  • Автоматическая нумерация рисунков (таблиц)

  • Ускоренная вставка поля автоматической нумерации рисунка

  • Ссылка на номер рисунка (таблицы, разделы, пункты)

  • Изменение формата перекрестной ссылки на рисунок (таблицу, раздел, пункт)

  • Ускоренная вставка ссылки на номер рисунка (таблицы)

  • Автозаполняемые поля (Экспресс-блоки) (число страниц, дата)

  • Исправление съезжающей нумерации в списке при выборе «Начать заново с 1»

  • Карта стилей

  • Перенос стилей между документами и очистка стилей

  • Автоматическое содержание (оглавлениие)

  • Макрос. Обрамление выделенного текста двоеточием с обеих сторон

  • Сравнение документов

  • Python. Пакетное сохранение документов в PDF

  • Список сокращений

  • Горячие клавиши

  • Заключение

Автоматическая нумерация рисунков (таблиц)

Классическая проблема: нужно объединить 4 файла, насыщенные рисунками, в один документ. Если это делать «в лоб», после объединения нумерация рисунков собьется. Восстановить ее – большая грустная задача.

Классическое решение: поставить вместо номера рисунка текст «ХХ» и закрасить желтым цветом (желтый цвет предлагается Word по умолчанию для выделения текста). Потом, после объединения частей в один файл, руками проставить номера рисунков в порядке их очередности. Это первое, что делает нормальный человек, действуя интуитивно, и проблема не кажется сложной, пока вы не столкнетесь с документом, в котором рисунков больше сотни, и еще нужно поддерживать актуальность документа (то есть со временем добавлять или исключать рисунки с перекрестными ссылками).

Word умеет делать это автоматически, причем не только для рисунков, а еще и для таблиц, параграфов, разделов, абзацев и др.

Чтобы присвоить рисунку (таблице) номер в автоматическом режиме, нужно нажать непосредственно на рисунок (1), после чего выбрать пункт меню «Ссылки» (2) ⟶ «Вставить название» (3) ⟶ Снять галочку «Исключить подпись из названия» (4) ⟶ «Ок» (5). Под рисунком появится подпись «Рисунок 1», где 1 – это поле автоматической нумерации рисунка (таблицы) (6). Справа от номера, в зависимости от правил именования рисунков, рисунку можно дать название.

Суть данной операции в том, что если 4 человека форматировали наименования рисунков именно так, то после объединения четырех частей документа для проставления корректных номеров рисунков необходимо выделить весь текст документа (Ctrl+A) и обновить автоматические поля (F9). Все рисунки (таблицы) при этом получат правильный порядковый номер (3).

Думаете, что повторить данную процедуру для 1000 рисунков долго? Читаем ниже.

Ускоренная вставка поля автоматической нумерации рисунка (таблицы)

Для быстрой вставки поля автоматического номера рисунка (таблицы) необходимо выделить любое сформированное ранее название рисунка (таблицы) (см. пункт выше), содержащее поле автоматической нумерации (1), скопировать его, перевести курсор под нужный рисунок и вставить скопированное название (2). Название будет скопировано с полем автоматической нумерации с исходным номером. Его нужно будет обновить. Не обязательно делать это сразу. Пока скопированный текст находится в буфере обмена, можно вставить поле автоматической нумерации под всеми рисунками (таблицами) до конца документа, после чего выделить весь текст (Ctrl+A) и обновить автоматические поля (F9). Все рисунки (таблицы) при этом получат правильный порядковый номер (3).

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

Ссылка на номер рисунка (таблицы, раздела, пункта)

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

Классическое решение: сначала человек проставляет вместо номеров рисунков (объектов) «ХХ» желтым цветом, то же самое делает и для ссылок на указанные рисунки, затем проставляет номера рисунков по окончанию редактирования документа и начинает сопоставлять ссылки с рисунками, к которым они относятся.

Данный подход приходит в голову первым, однако Word и это умеет делать автоматически. Если в тексте встречаются ссылки на рисунки, то крайне полезно делать их именно ссылкой, а не вручную вписанным номером. Это позволяет отказаться от механической проверки актуальности ссылок, которые обязательно начнут сбиваться при малейшем редактировании документа, и переложить указанную работу исключительно на Word. Более того, при перестановке рисунка по тексту или же вставке новых рисунков ссылки обновляются в соответствии с обновленной нумерацией. Если вдруг ссылка дана на несуществующий объект, то вместо номера рисунка (таблицы) появится сообщение вида «Ошибка! Источник ссылки не найден.». Используя поиск, можно быстро отследить корректность всех перекрестных ссылок по фразе «Ошибка».

Для вставки ссылки на рисунок (таблицу) необходимо перевести курсор мыши в то место, где необходимо вставить ссылку (1), нажать пункт меню «Ссылки» (2), «Перекрестная ссылка» (3), выбрать из выпадающего списка тип ссылки «Рисунок» («Таблица» и т.д.) (4), из выпадающего списка выбрать то, на что вставить ссылку «Постоянная часть и номер» (5), выбрать нужный рисунок (таблицу и др.) (6), нажать кнопку «Вставить» (7). На месте (1) появится ссылка на выбранный рисунок (таблицу и др.).

Если стандартный формат вставки ссылки не подходит (например, необходимо выполнять требования ГОСТ), то можно выполнить другие действия, описанные ниже.

Изменение формата перекрестной ссылки на рисунок (таблицу, раздел, пункт)

По умолчанию Word вставляет фразу «Рисунок N», однако иногда необходимо вставить фразу вида «Рис. N» (или «см. рис. N»). Для этого из перекрестной ссылки необходимо забрать лишь номер, а остальное дописать руками.

Для отображения только номера объекта необходимо выделить поле ссылки (1) и нажать «SHIFT+F9», при этом откроется код ссылки (2), в него нужно дописать сочетание « # » и обязательно поставить в конце пробел (3). Чтобы увидеть номер рисунка (таблицы), необходимо обновить содержимое поля нажатием «F9» (4).

Если у Вас сложилось впечатление, что это слишком долго, то читаем ниже, как можно немного ускориться.

Ускоренная вставка ссылки на номер рисунка (таблицы)

Ускорить процесс вставки ссылок можно достаточно просто, следуя советам дедушки Сазерленда (методология Scrum), а именно: нужно выполнять одну простейшую операцию. Применительно к нашей задаче следует выделить весь текст нажатием «Ctrl+A», отобразить коды автозаполняемых полей нажатием «SHIFT+F9», открыть окно «Перекрестные ссылки» по примеру выше, после чего необходимо пролистывать документ, перенося курсор в нужные места, выбирать нужные ссылки из открытого окна перекрестных ссылок и вставлять их. Окно «Перекрестные ссылки» закрываем только тогда, когда документ отработан до конца.

По аналогии можно быстро изменить отображение перекрестных ссылок на рисунки (таблицы). Для этого выделяем весь текст нажатием «Ctrl+A», отображаем коды автозаполняемых полей нажатием «SHIFT+F9», копируем в буфер обмена текст « # » (пробел в конце обязателен) и вставляем его в конце требуемых полей. Обновляем поля нажатием «F9», когда документ обработан до конца.

Автозаполняемые поля (Экспресс-блоки) (число страниц, дата)

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

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

Все это может выполняться автоматически стандартными средствами Word. В качестве примера вставим автоматическое поле числа страниц документа. Для этого устанавливаем курсор мыши туда, где необходимо вставить автозаполняемое поле (1), выбираем пункт меню «Вставить», затем «Экспресс-блоки» (2), затем «Поле» (3). Откроется окно «Поле» (4), в колонке «Поля» выбираем тип поля, в нашем примере «NumPages» (5), и нажимаем кнопку «Ок» (6). При этом в месте, где был установлен курсор (1), вставится поле, которое при обновлении (F9) поменяет значение на фактическое число страниц.

Для вставки даты вместо «NumPages» (5) необходимо найти «Date» и выбрать необходимый формат. 

Исправление съезжающей нумерации в списке при выборе «Начать заново с 1»

Классическая проблема: надо начать новый нумерованный список, но по умолчанию продолжается старая нумерация. Обычно делают так: нажимают «ПКМ», «Начать заново с 1» и первый номер съезжает к значению по умолчанию.

Классическое решение: каждый раз передвигать отступы первого пункта списка на необходимое место.

 Этого можно не делать если заранее определить отступы для нумерованного списка. Для этого необходимо нажать на первый номер нумерованного списка «ПКМ», затем «Изменить отступы в списке». Проделать это можно сразу для нескольких уровней списков, а еще лучше, если для каждого уровня списка создать отдельный стиль, что позволит быстро изменять отступы по всему документу, но об этом уже ниже.

Карта стилей

Классическая проблема: два человека разрабатывают части документа, в которых используется нумерация разделов и пунктов, выделение заголовков и особое форматирование абзацев. Один человек поддерживал нумерацию механически, второй — используя автонумерацию. При объединении нумерация съезжает, равно как и форматирование.

Классическое решение: выбирается жертва, которая приводит полученный бардак к единому виду.

Это, пожалуй, самая распространенная проблема, которая влечет за собой много нудной, монотонной и неинтересной работы по форматированию документа. Возникает она по причине того, что мало кто знает и пользуется одной из базовых возможностей Word — стилями. Правильно подготовленная карта стилей позволяет экономить уйму времени. Вы знали, что при изменении параметров существующего стиля они применяются ко всему тексту документа, который отформатирован в этом стиле?

Так вот, чтобы форматирование не занимало слишком много времени, хорошей практикой считается перед началом проекта уяснить требования к оформлению документов (например, определенных в ГОСТ или шаблонах заказчика) и собрать карту стилей хотя бы для следующих элементов:

  • Заголовок 1,2,3,4,5,6 уровней;

  • Текст;

  • Нумерованный список;

  • Список;

  • Название таблицы;

  • Текст таблицы;

  • Название рисунка;

  • Рисунок;

  • Программный код.

Шаблон документа с указанными стилями раздается всем членам команды, а еще лучше сохраняется в корпоративном облаке или Confluence.

При таком подходе вставка новых материалов в документ не нарушает целостность форматирования.

Перенос стилей между документами и очистка стилей

Классическая проблема: вы отдаете документ на проверку по отделам организации. И один из сотрудников вносит свои правки в Libre в Ubuntu, а другой делает то же самое, но используя Mac. Потом документы возвращаются к вам, вы обнаруживаете в них 10000 стилей, текст в непонятных шрифтах и нарушение исходного форматирования.

Классическое решение (взято из интернета): нажимаем галочку в правом нижнем углу раздела «Стили» (или «Ctrl» + «Shift» + «Alt» + «S»), затем «Очистить стили».

Проблема такого подхода в том, что сами стили не удаляются из документа. Происходит сброс примененного форматирования текста, а оставшиеся стили в списке стилей мешают нормально форматировать документ. Очистить документ от мусора в виде тысяч стилей можно, однако автоматически присвоить необходимые стили абзацам не получится (тут уже в ход необходимо пускать Markdown и прочие подходы к разработке документации).

Документ в формате *.docx — это самый обыкновенный архив, который спокойно открывается архиватором (например, WinRAR).

Чтобы открыть документ в WinRAR открываем непосредственно сам архиватор, находим искомый документ, нажимаем правой клавишей мыши и выбираем «Показать содержимое архива». Нам откроется структура папок вида: _rels, customXml, docProps, word. В большей степени нас интересует каталог «Word». Переходим в него. За стили в документе отвечает файл «styles.xml».

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

Если же есть острое желание очистить документ от всех стилей, файл «styles.xml» нужно удалить.

Если совсем не хочется открывать документ в WinRar, вот скрипт (для Windows):

@ECHO OFF
SET Winrar=C:Program FilesWinRARWinRAR.exe
FOR %%I IN (*.docx) DO (
 "%WinRAR%" d "%%I" wordstyles.xml
)

Открываем блокнот, вставляем туда указанный текст и сохраняем в формате *.bat. Переносим полученный файл в каталог с документами, в которых необходимо удалить стили и запускаем.

По-хорошему, чтобы не доводить до подобного, лучше сравнивать документы на предмет выявления правок, и переносить их вручную в документ с нормальным форматированием. Еще лучше ­– отдавать документ на вычитку в формате *.pdf, чтобы не нарушать правило, что изменения в документ вносит только ответственный за документацию.

Автоматическое содержание (оглавление)

Классическая проблема: Вы работаете над документом размером, например, в 300 страниц. По завершении листаете документ и собираете содержание, проставляете номера страниц. Срочно возникает необходимость вставить в текст новый раздел.

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

Подход в целом обычный, но зачем проходить такой долгий путь, если можно его избежать. Автособираемое оглавление – стандартная функция Word. По своей сути это еще одно автозаполняемое поле, но с некоторыми нюансами. Оно позволяет переносить из документа абзацы, отформатированные специальным образом, в содержание и автоматически указывать номер страницы, на которой этот абзац расположен.

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

Предположим, что у нас есть текст (1). Выделяем в нем нужный заголовок (для нашего примера сразу все), который можно отнести к заголовку первого уровня, и заходим в настройки абзаца (2). Для выбранных абзацев в выпадающем списке «Уровень» (3) выбираем «Уровень 1» и нажимаем «Ок» (4). То же самое проделываем для всех оставшихся абзацев, присваивая им соответствующий уровень.

После того как уровни заголовков проставлены, переходим в пункт меню «Ссылки» (1), «Оглавление» (2), «Настраиваемое оглавление» (3). Здесь в окне «Параметры» (4) можно выполнить более точную настройку параметров содержания или включить в него стили, которым не были заданы уровни. По умолчанию достаточно указать число уровней, которые должны быть перенесены в содержание, нажать «Ок» и посмотреть, все ли, что Вы хотели, оказалось в содержании.

После завершения работы с документом обновление содержание осуществляется, как и любое другое автозаполняемое поле. Необходимо выделить его и нажать «F9». Однако при работе с содержанием будет предложено два варианта: «Полностью» и «Только номера страниц». При выборе параметра «Полностью» форматирование будет сброшено и надо будет править его заново. При обновлении только номеров страниц форматирование не съезжает и выполняется только пересчет страниц.

Макрос. Обрамление выделенного текста двоеточием с обеих сторон

Классическая проблема: в начале проекта не до конца утверждена терминология. Названия изделий, ряд сокращений и прочее выполнено в виде обычного текста, а заказчик требует выделить все эти элементы кавычками.

Классическое решение: открываете все документы один за одним и читаете. Все, на чем сделан акцент, выделяете кавычками.

Выделить одно слово кавычками не выглядит чем-то сложным, однако если вы работали в какой-нибудь IDE, то скорее всего знаете, насколько удобнее, когда ставится сразу две кавычки (открывающая и закрывающая). Аналога подобной функции в Word мне найти не удалось, зато встроенный инструментарий работы с макросами позволяет это реализовать. А чтобы полученный макрос можно было быстро применять, нужно назначить ему горячую клавишу.

Если изначально написать макрос кодом, моя сборка Word не позволяет назначить ему горячую клавишу. Это можно обойти следующим образом: переходим в пункт меню «Вид» (1), «Макросы» (2), «Запись макроса». Откроется окно «Запись макроса», где нужно ввести имя макроса и назначить его клавишам (4). Откроется окно «Настройка клавиатуры» (5), где нужно задать сочетание клавиш для выполнения макроса (например «Ctrl+2», так как кавычки задаются смежным сочетанием «Shift+2») (6), нажать «Назначить» (7) и «Закрыть» (8). Начнется запись макроса. Ее нужно остановить, для чего заходим в меню «Макросы» (2) и нажимаем «Остановить запись».

Теперь в созданный пустой макрос необходимо добавить код. Для этого переходим в «Макросы» (2), выбираем наш макрос из списка и нажимаем «Изменить». Откроется окно редактирования Visual Basic, содержимое которого необходимо заменить кодом ниже.

Sub Кавычки
'
'Кавычки макрос
'
'
If Right(Selection.Text, 1) = Chr(32) Or _
  Right(Selection.Text, 1) = Chr(13) Then
  Selection.MoveLeft wdCharacter, 1, wdExtend
End If
With Selection
  .InsertBefore Chr(171)  'вместо Char(171) можно использовать '('
  .InsertAfter Chr(187)  'вместо Char(171) можно использовать ')'
End With
End Sub

Теперь при выделении текста и нажатии «Ctrl+2» он будет обрамлен кавычками с обеих сторон.

Сравнение документов

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

 Классическое решение: узнаете у человека, что он исправил, или же открываете два окна со старым и новым документ и начинаете сравнение.

Если вы не пользуетесь программами контроля версий (SVN) вроде GIT, где изменения можно просмотреть в логах, то Word аналогично может подсветить различия двух документов.

Для этого необходимо нажать пункт меню «Рецензирование» (1), «Сравнить» (2), выбрать исходный файл (3), измененный файл (4) и нажать «ОК» (5).

Откроется новое окно Word, в котором в виде комментариев и правок будут доступны все изменения между двумя документами.

Python. Пакетное сохранение документов в PDF

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

Классическое решение: передавать документы в формате *.pdf. Для этого вы открываете сначала один документ, нажимаете «Сохранить как», выбираете тип файла «PDF», сохраняете. И так с каждым документом.

Данную процедуру можно автоматизировать с помощью Python, и запуском одного скрипта сохранить пакет документов в формате *.pdf.

Устанавливаем Python, открываем блокнот и вставляем в него следующий код:

import sys
import os
import comtypes.client

def decode_doc_to_pdf(filename):
    wdFormatPDF = 17

    in_file = os.path.abspath(filename+'.docx')
    out_file = os.path.abspath(filename+'.pdf')

    word = comtypes.client.CreateObject('Word.Application')
    doc = word.Documents.Open(in_file)
    doc.SaveAs(out_file, FileFormat=wdFormatPDF)
    doc.Close()
    word.Quit()

def get_list_of_docx_files():
    list_of_all_files = os.listdir('.')  
    list_of_docx_files = []
    for filename in list_of_all_files:
        if filename[-4:] == 'docx':
            list_of_docx_files.append(filename[:-5])
    return list_of_docx_files

docx_list = get_list_of_docx_files()


for filename in docx_list:
    decode_doc_to_pdf(filename)

Сохраняем документ с расширением *.py. Все что нужно сделать дальше, это положить скрипт в папку с документами в формате *.docx и запустить его. Если запуск исполняемого файла скрипта не проходит, то выполнить скрипт через командную строку.

Список сокращений

Классическая проблема: необходимо сформировать актуальный список сокращений, использованных в документе.

Классическое решение: читаем весь документ от начала до конца, выписываем все сокращения в отдельном файле, перечитываем документ сначала на предмет корректного применения сокращения (проверяем, что сокращение не используется раньше, чем оно введено)

Подобный процесс можно упростить. Подход не совершенный, так как программно отличить слово в верхнем регистре от сокращения без использования словаря невозможно, а делать подобное макросом в Word — бессмысленно.

Чтобы не нарушать форматирование в основном документе, необходимо сделать его копию. В копии исходного документа необходимо сбросить все форматирование, так как
будет необходимо использовать поиск с подстановочными знаками. Далее нажимаем «Заменить» (1), затем в поле «Найти» (2) вставляем текст « <[А-Я,A-Z]@> » (« <[А-Я]@> » для поиска только русских слов в верхнем регистре). Устанавливаем чекбокс «Подстановочные знаки» (3), нажимаем «Формат» (4), выбираем «Шрифт», затем «Полужирный» и нажимаем «Ок». В строке «Заменить на» (5) появится текст « ^& », после чего нажимаем «Заменить все» (6). Все слова в верхнем регистре будут выделены полужирным шрифтом.

Далее необходимо выделить весь найденный текст в верхнем регистре. Для этого выделяем любое сокращение, отформатированное жирным, нажимаем «Выделить», затем «Выделить текст, имеющий такой же формат». Копируем выделенный текст в буфер обмена (Ctrl+C).

Отсеять слова в верхнем регистре от сокращений и дубликатов можно используя Excel. Если не знакомы с такой процедурой, то открываем Excel, вставляем скопированный текст из буфера обмена в левую верхнюю ячейку. Чтобы удалить дубликаты из получившейся колонки, выделяем ее, переходим на вкладку «Данные» и нажимаем кнопку «Удалить дубликаты».

Появится сообщение вида «Найдено и удалено….осталось». Далее с полученным списком нужно немного поработать руками.

Горячие клавиши

Нельзя было опустить в подобной статье тему горячих клавиш. Учитывая, что есть много достойных статей, как например на официальном сайте Microsoft или же уже готовая шпаргалка, из общего списка горячих клавиш можно лишь выделить минимальный набор часто используемых сочетаний.

Выравнивание

  • CTRL+E — Переключение абзаца между выравниванием по центру и выравниванием по левому краю;

  • CTRL+J — Переключение абзаца между выравниванием по ширине и выравниванием по левому краю;

  • CTRL+R — Переключение абзаца между выравниванием по правому краю и выравниванием по левому краю;

  • CTRL+L — Выравнивание абзаца по левому краю.

Перемещение курсора

  • CTRL+СТРЕЛКА ВЛЕВО — На одно слово влево;

  • CTRL+СТРЕЛКА ВПРАВО — На одно слово вправо;

  • CTRL+СТРЕЛКА ВВЕРХ — На один абзац вверх;

  • CTRL+СТРЕЛКА ВНИЗ — На один абзац вниз.

Удаление слова

  • CTRL+BACKSPACE — Удаление одного слова слева от курсора;

  • CTRL+DEL — Удаление одного слова справа от курсора.

Начертание текста

  • CTRL+B — Добавление полужирного начертания;

  • CTRL+I — Добавление курсивного начертания;

  • CTRL+U — Добавление подчеркивания;

  • CTRL+[ — Уменьшение размера шрифта на 1 пункт;

  • CTRL+] — Увеличение размера шрифта на один пункт;

  • CTRL+SHIFT+> — Увеличение размера шрифта;

  • CTRL+SHIFT+< — Уменьшение размера шрифта.

Прописные буквы

  • SHIFT+F3 — Изменение регистра букв.

Прочее полезное

  • F4 – повтор последнего действия;

  • Alt + двойной клик в любом поле таблицы – выделить таблицу.

Заключение

Какими бы банальными не казались описанные выше операции, это — 90% косяков и ошибок в документах, связанных с оформлением, которые действительно трудно контролировать с ростом объема без четких правил командной работы. Все понимают причины таких ошибок, но не всегда знают, как с ними бороться.

Кто-то просто способен договориться внутри команды о подобных вещах и поделиться опытом, у кого-то подобные правила входят в СМК (Система менеджмента качества), у кого-то описано на уровне СТП (Стандарт предприятия).

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

Понравилась статья? Поделить с друзьями:
  • Автоматическая настройка высоты строки excel
  • Автоматическая многоуровневая нумерация строк в excel
  • Автоматическая консолидация данных в excel
  • Автоматическая запись данных в excel
  • Автоматическая замена ячеек в excel