Статьи из блога
Как автоматически увеличивать номер договора при каждом открытии документа
Иван задал вопрос:
Существует договор в формате word 2003. У него есть номер. Как можно сделать, чтобы при новом открытии данного документа у него увеличивался номер на один?
Я могу предложить два варианта (спасибо за помощь
1. Вот макрос, который использует закладки.
Вам нужно выделить номер договора и создать закладку для него с именем num.
Sub AutoOpen() 'увеличиваем номер договора при каждом открытии документа 'в документе существующий номер должен быть закладкой с именем num Dim bm As Bookmark Dim i As Long Set bm = ActiveDocument.Bookmarks("num") i = Val(bm.Range.Text) bm.Range.Select With Selection .Text = i + 1 .Bookmarks.Add Name:="num" .Collapse wdCollapseEnd End With Set bm = Nothing End Sub
2. Макрос с использованием переменной DOCVARIABLE.
Выделите номер договора и вставьте сочетанием клавиш «CTRL+F9» поле (появятся фигурные скобки и мигающий курсор между ними). Между скобками вставьте выражение DOCVARIABLE dog, чтобы получилось примерно так: {DOCVARIABLE dog}.
Затем разместите этот макрос в модуле документа или шаблона Normal.dot. Сохраните документ и закройте. При следующем открытии документа номер договора будет увеличен на единицу.
Sub AutoOpen() On Error Resume Next ActiveDocument.Variables("dog").Value = ActiveDocument.Variables("dog").Value + 1 If Err.Number = 5825 Then ActiveDocument.Variables.Add "dog", 1: Err.Clear ActiveDocument.Fields.Update End Sub
Метки: AutoOpen | автоматизация | макросы | нумерация | переменные | поля
Просмотров: 28173
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 250 бесплатных шаблонов для MS Office
- 3 способа очистки списка недавно открытых документов
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Абзац с цветным фоном
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Белый текст на синем фоне в Word 2007
- Быстрая смена ориентации страниц документа
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрый ввод текста с помощью команды =rand()
- Быстрый доступ к папке с шаблонами Word
- Ввод повторяющихся фрагментов текста в Word 2007
- Ввод часто повторяющихся фрагментов текста
- Вертикальное выравнивание текста
- Возможно ли запретить копирование текста из документа Word?
Комментариев: 13
Здравствуйте Антон.
Не очень понятно, как с сайта задать вам вопрос, так что попробую из этой формы.
Вопрос у меня непростой. В Ворде есть возможность самостоятельно создавать стили. Я пытаюсь создать стиль на основе встроенного стиля Заголовок 1, но он не отображается в перекрестных ссылках как заголовок. Более того, при вставке рисунка, когда я устанавливаю нумерацию с учетом главы, рисунок не нумеруется как 1.1, т. е. номер главы, и через точку, порядковый номер рисунка. Уровень заголовка у меня стоит первый. Вообще, в ходе экспериментов я заметил, что нормальная работа со стилями воспринимается Вордом только с использлванием «вшитых» в саму программу стилей Заголовок 1—9. Там и панель структуры для них работает. Добавить свои стили, чтобы они работали как встроенные, мне не удалось. Созданием стилей для Ворда занимаюсь уже давно, но приходится «мириться» с недостатками пользовательских стилей. Думал создать стили на основе встроенных, но тут тоже самое — любое отступление от стандартного стиля лишает его возможности использовать в полной мере. Остается только один очевидный путь — изменять стандартные стили под свои нужды.
Вопрос: Можно ли в ВОрде настроить пользовательские стили, чтобы программа нормально работала с ними, как с родными.
Алексей, действительно, редактор ссылается только на встроенные стили. Но не везде. Например, в Оглавлении вы можете указать ваш собственный стиль.
Но, если вам нужны стили типа Заголовок или перекрестные ссылки, то зачем для этих целей создавать свои стили? Достаточно изменить существующие на свой лад и все отлично. Почему вас не устраивает этот "очевидный" путь?
Антон, дело в том, что мне нужно несколько стилей для заголовков одного уровня, к примеру первого. Очевидный путь создаст только один единственный стиль первого уровня, т. к. даже если я создам на его основе «дубликат», он в перекрестных ссылках работать не будет.
Самый простой пример использования двух стилей первого уровня это два стиля: один для русского языка, один для английского абзаца. А они по стилям разные.
Вообще, вопрос не к вам, Антон, но мне никак не понятно, зачем давать обрезанную функциональность пользовательским стилям?
Может это вообще «баг» Ворда? Или «фича»?
Я согласен с Алексеем. Мне самому непонятно, почему привязка идет к имени стиля, а не к уровню заголовка? Какая разница? С точки зрения пользователя это очень неудобно.
В настоящее время всё же принял решение, как посоветовал Антон (использовать модифицированные встроенные стили), хотя на мой взгляд это полумера. Остальные стили буду делать перекрестные ссылки на абзацы. Другого выхода я пока не вижу.
Дело в том, что я сам не применяю стили, я их только создаю и тестирую для инженеров (в компании это примерно 50—60 человек), так что буду дальше «грызть» Ворд.
Сформирую «костяк» из самых необходимых стилей и сделаю их встроенными.
Также хочу сказать огромное спасибо всем кто помогает другим, делясь своими наработками и опытом по Ворду. Я вот, к примеру, делаю тоже самое по Visio.
P.S. Кстати, встретился с еще одной проблемой: если создать нумерованный заголовок, на его основе создать тоже нумерованный, но не заголовок, и потом с помощью организатора попробовать импортировать стиль в другой документ, то нумерация сбивается. Причем даже если сначала импортировать заголовочный стиль, а уж потом импортировать незаголовочный.
Тут я тоже придумал полумеру, всё вставляю в «подготовленный» документ из нового и уже правлю только в нем.
P.P.S. Антон, так как же вам отравлять вопросы с сайта? Подскажите ссылку.
Вот есть форум, где вы можете задавать вопросы.
Здравствуйте Антон,
Не знаю, как здесь можно задать вопрос, поэтому задаю в комментариях. Заранее прошу за это прощения.
Вопрос такой.
При использовании кода REF и вставке текстовых полей, почему то перед вставленным текстом появляются лишние буквы, "я" и "е" при этом если их удалить вручную, при нажатии кнопки печать, происходит обновление полей и они появляются вновь.
Почему это происходит?
как это устранить?
Сергей, вы можете прислать ваш шаблон (не документ!), в котором это происходит? Шлите шаблон на этот ящик: wordtips[@]mail.ru
Кроме того, возможно, что у вас эти буквы находятся в тексте закладки - проверьте.
Для Сергея Наумова: ответил вам в письме и сообщу здесь: у вас захвачен лишний текст в закладке (захвачены последние буквы из предложения перед вашим текстом). Переопределите закладку.
Здравствуйте! Помогите пожалуйста.
Есть договор. Как сделать так, чтобы при вводе Ф.И.О. в начале они так же автоматически попадали в конец документа в раздел "реквизиты" Заранее Благодарен
Почитайте заметки:
Ввод часто повторяющихся фрагментов текста
Ввод повторяющихся фрагментов текста в Word 2007
Добрый день!
А как можно очистить все хвосты слияния... чищу документ, но он всё равно продолжает спрашивать... при этом в ленте кнопка выделять поля слияния не активна.