В шаблонном документе я хочу создать макрос, который при открытии шаблона и извлечении нового документа автоматически вводит имя автора в нижний колонтитул. Это возможно? Я не знаю, как написать макрос, и все инструкции, которые я нашел, меня очень смущают. Раньше я имел возможность создавать макросы автозапуска в очень старой версии Word, но 2010 очень запутанный.
5 ответов
Макрос не нужен для автоматической вставки имени автора. Это можно сделать, используя только шаблон и поле Автор. Сделать это:
- Откройте новый документ.
- Добавьте нижний колонтитул в документ (самый быстрый способ - дважды щелкнуть чуть выше нижней части страницы)
- На ленте « Инструменты верхнего и нижнего колонтитула» нажмите « Быстрые детали», затем « Свойство и автор документа».
- Сохраните документ как шаблон (.dotx). Не сохраняйте его как обычный документ (.docx).
Чтобы создать новый документ и автоматически получить имя автора, просто дважды щелкните файл шаблона или в окне « Новый документ» выберите « Новый из существующих» и перейдите к нему. Новый документ откроется как файл DOCX, а не как шаблон DOTX. Оригинальное имя автора будет захвачено документом и может быть сохранено как обычный документ. Имя не должно изменяться, если кто-то не откроет нижний колонтитул и явно не обновит поле.
Примечание. Чтобы отредактировать сам шаблон после закрытия, удерживая нажатой клавишу «Shift» , щелкните файл правой кнопкой мыши, затем выберите « Изменить». В противном случае его открытие превратит его в стандартный документ, а не в шаблон.
2-е примечание. Вы можете добавить поля «Свойство документа» в обычный документ DOCX, но обычно он обновляет автора каждый раз, когда документ открывается и сохраняется (т. Е. Захватывает имя того, кто его открывает, а не оригинального автора).
Нажмите Alt + F11, и слева вы увидите свой проект и Microsoft Word Objects
Поместите следующий код в ThisDocument
в редакторе Visual Basic
Private Sub Document_New()
With ActiveDocument.Sections(1)
.Footers(wdHeaderFooterPrimary).Range.Text = ActiveDocument.BuiltInDocumentProperties("Author") & " " & Now
End With
End Sub
Закройте редактор VB и сохраните как Word Macro-Enabled Template
Если вы добавите вкладку «Разработчик» («Перейти к« Файл »>« Параметры »>« Настроить ленту », затем в разделе« Настройка ленты »и в разделе« Основные вкладки »установите флажок« Разработчик »), вы можете использовать средство записи макросов, чтобы делать то, что вам нужно.
- В разделе «Код» выберите «Запись макроса».
- Выберите, хотите ли вы, чтобы кнопка или сочетание клавиш запускали ее, и где сохранить созданный макрос.
Запишите свой макрос - что-то вроде этого должно сделать это:
- Вставить | Нижний колонтитул | Редактировать нижний колонтитул
- Вставка | Быстрые детали | Свойство документа | Автор
Затем нажмите Остановить запись
Это должно сгенерировать вам макрос, чтобы делать примерно то, что вы хотите. Вам нужно немного поиграться, если вы хотите указать, где в нижнем колонтитуле вы хотите разместить поле Author.
Приведенный выше совет пользователя user242332 относительно поля UserName - это путь. В последнее время я создавал много файлов .dotx и экспериментировал с использованием кодов полей, и они потрясающие. Чтобы настроить поле UserName в нижнем колонтитуле, перейдите по адресу : http://office.microsoft.com/en-us/word-help/insert-and-format-field-codes-in-word-2007-HA010338798.aspx
По сути, вам просто нужно поместить курсор туда, где вы хотите, чтобы имя автора находилось в нижнем колонтитуле, перейти на вкладку «Вставка» и выбрать «Быстрые детали», а затем перейти к разделу полей.
Назовите макрос "AutoOpen", и он будет запускаться автоматически при каждом открытии документа ... :)