Вставить текущую дату в шаблон Excel при создании

StackOverflow https://stackoverflow.com/questions/40637

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

Другие советы

Вы можете редактировать шаблон по умолчанию для 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 немного ржавый, но вы можете найти что-то вроде этого.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top