Вставить текущую дату в шаблон Excel при создании - PullRequest
3 голосов
/ 03 сентября 2008

Я создаю здесь шаблон Excel (* .xlt) для пользователя, и я хочу сделать так, чтобы он вставлял текущую дату при создании нового документа (т. Е. При двойном щелчке по нему). файл в проводнике Windows). Как мне это сделать?

Обновление: Я должен был добавить, что предпочел бы не использовать vba (макрос). Если это единственный вариант, то пусть так и будет, но я бы действительно хотел, чтобы мой пользователь не заставлял пользователя нажимать какую-либо кнопку «разрешить макросодержание».

Ответы [ 3 ]

4 голосов
/ 03 сентября 2008

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

Единственный другой метод, о котором я могу подумать, это, как сказал 1729, кодировать событие Workbook_Open:

Private Sub Workbook_Open()
    ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Date
End Sub

Вы можете уменьшить проблему необходимости того, чтобы пользователь каждый раз принимал макросы, путем цифровой подписи шаблона (в VBA IDE Tools | Digital Signature ...) и выбора цифрового сертификата, однако вам потребуется получить сертификат от коммерческий центр сертификации (см. http://msdn.microsoft.com/en-us/library/ms995347.aspx). Пользователь должен будет выбрать, чтобы всегда доверять этому сертификату при первом запуске шаблона, но после этого он не будет запрашиваться снова.

2 голосов
/ 03 сентября 2008

Вы можете редактировать шаблон по умолчанию для Excel -

В каталоге XLSTART есть файл с именем Book.xlt, обычно расположенный по адресу C:\Program Files\Microsoft Office\Office\XLStart\

Вы должны иметь возможность добавить макрос с именем Workbook_Open

Private Sub Workbook_Open()
    If ActiveWorkBook.Sheets(1).Range("A1") = "" Then
        ActiveWorkBook.Sheets(1).Range("A1") = Now
    End If
End Sub

Мой VBA немного ржавый, но вы можете найти что-то вроде этого.

0 голосов
/ 04 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...