Как я могу вставить дату, которая не обновляется, без времени, в MS Word? - PullRequest
0 голосов
/ 29 февраля 2020

Мне нужно записать дату, когда я получил (многие) URL-адреса для целей цитирования. Я хочу создать строку в моем Word do c с надписью «Доступ:» с добавленным полем CreateDate. Я НЕ хочу, чтобы время появилось. Я использую этот код -

 Selection.TypeText Text:=" Accessed: "

Set myField = ActiveDocument.Fields.Add(Range:=Selection.Range, _
 Type:=wdFieldCreateDate)

Он работает, но я не знаю, как остановить CreateDate от добавления времени. Я должен использовать CreateDate, потому что поле Дата обновляется каждый раз, когда я открываю файл. Я попытался отключить "автоматическое c обновление" в Word / Options, это не работает. Попытка изменить код CreateDate по умолчанию в окне Fields / Options, он возвращается обратно при каждом новом использовании. Я пробовал несколько разных способов, чтобы найти инструкции по форматированию в макросе выше, но ни один из них не запустился. Все, что я хочу, это одна строка с надписью "Доступ: гггг-мм-дд". Может кто-нибудь помочь? Спасибо.

1 Ответ

0 голосов
/ 29 февраля 2020

Поле CREATEDATE не будет сообщать вам, когда был осуществлен доступ к URL; он может только сказать вам, когда документ был создан или последний раз сохранен через Сохранить как. При условии, что вы понимаете, что:

With Selection
  .Text = " Accessed: "
  .Collapse wdCollapseEnd
  .Fields.Add Range:=.Range, Type:=wdFieldEmpty, Text:="CreateDate \@ ""D MMM YYYY""", PreserveFormatting:=False
End With

Измените переключатель D MMM YYYY в соответствии с вашими требованиями.

Правильный способ вставки текущей даты в виде фиксированной строки:

Selection.Text = " Accessed: " & Format(Now(), "D MMM YYYY")
...