Word и заметки дня...
Задача - заставить Word работать с "файлом дня", имя которого будет назначаться и меняться автоматически, например, 14 марта 2014 года будет автоматически открываться (или создаваться) файл 140314.doc, а 15-го - 150314.doc
Проблема легко решается с помощью Visual Basic for Applications, встроенного во все основные версии офиса.
Создадим макрос на VBA и пропишем его в шаблоне по умолчанию Normal.dot. Для этого делается следующее:
- В офисе XP/2003:
меню Сервис - Макрос - Макросы, в списке "Макросы из:" выбрать Normal.dot (общего шаблона), в списке имя ввести название подпрограммы макроса, например, Main, нажать кнопку Создать, вставить в пустую подпрограмму текст макроса:
Sub Main() ' ' Main2 Макрос ' Макрос создан <Дата> <Юзер> ' --- ВОТ СЮДА! --- End Sub
Настройка из меню Сервис - Макрос - Безопасность установлена в значение "Средняя".
- В офисе 2007/2010:
вкладка Вид, открыть список на кнопке Макросы, выбрать пункт Макросы. В окне "Макрос" выбрать "Макросы из:" Normal.dotm (обшего шаблона), ввести в поле "Имя:" Main, нажать кнопку "Создать", вставить текст макроса на место курсора.
Также проверьте, что выполнение макросов разрешено в Word (в версии 2010 - Файл, Параметры, Центр управления безопасностью, кнопка "Параметры..." справа, вкладка Параметры макросов. Включить все макросы, установить опцию "Доверять доступ к объектной модели".
Текст макроса от версии офиса, конечно же, не зависит:
Dim Path, Dt, Fs Path = "c:\Temp\" 'путь к папке с файлами Dt = Path & Format(Date, "ddmmyy") & ".doc" Set Fs = CreateObject("Scripting.FileSystemObject") If Fs.FileExists(Dt) Then Documents.Open FileName:=Dt Else Documents.Add End If ActiveDocument.SaveAs FileName:=Dt
Путь к папке, куда "складируются" файлы, можно поменять.
Теперь нам нужно, чтобы этот макрос выполнялся автоматически при запуске Word. Для этого в удобном месте, например, на рабочем столе, создадим файл runme.bat (можно создать обычный текстовый документ, изменить имя на указанное и согласиться со сменой типа файла, потом правая кнопка на имени файла, команда Изменить - и он загрузится в Блокнот). Вот текст файла runme.bat вместе с комментариями:
@echo off rem Впишите ниже свой путь к Winword.exe; rem Ключ имеет вид /mИмя_Вашего_Макроса "C:\Program Files\Microsoft Office 2003\OFFICE11\Winword.exe" /mMain
Путь к исполняемому файлу Ворд'а Winword.exe следует скорректировать в зависимости от вашей версии, например, для 2010-й может быть
"C:\Program Files\Microsoft Office\Office14\WINWORD.EXE" /mMain
Всё готово и работает. Здесь просто создаётся пустой "файл дня", при необходимости же можно сделать (выбрать) шаблон и создавать файл уже на его основе, как-то так:
Documents.Add Template:="C:\Program Files\Microsoft Office 2003\Templates\1049\Brochure.dot"
вместо строки
Documents.Add
Путь к шаблону также может быть любым другим.
14.03.2014, 12:17 [11175 просмотров]