Я хочу создать несколько полей времени, которые будут отображать текущее время, когда вы нажимаете на него, но не обновляются, когда я обновляю поля автоматического увеличения, которые я использую в том же документе. Мне нужно что-то вроде управления контентом выбора даты. У меня была надежда, когда я увидел, что вы можете отобразить дату в h:mm am/pm но это бессмысленно, потому что она отображается только в 12:00 AM .

Есть ли способ, которым я могу заставить сборщик даты показывать текущее время, когда вы нажимаете "сегодня", или я могу сделать что-то еще?

1 ответ1

1

Да, вы можете использовать коды полей TIME. Обновите каждое (F9), чтобы оно показывало текущее время, а затем заблокируйте его (Ctrl+F11), чтобы значение не изменилось при обновлении других полей в документе.

Если вам нужен какой-то элемент пользовательского интерфейса, чтобы это происходило одним щелчком мыши, я просто собрал чрезвычайно грубый пример, в который вставил один из устаревших элементов управления командной кнопки ActiveX (на вкладке « Разработчик » выберите « Устаревшие инструменты» > « Кнопки команд»), добавил пробел после него, а затем вставил поле TIME. Затем я добавил этот грубый код к кнопке (щелкните ее правой кнопкой мыши и выберите « Просмотр кода»), чтобы переместить фокус с кнопки, переместить курсор на 2 пробела вправо (в поле), обновить и заблокировать поле, и затем переместите фокус с поля:

Private Sub CommandButton1_Click()
  Selection.MoveRight Unit:=wdCharacter, Count:=2
  Selection.Fields.Update
  Selection.Fields.Locked = True
  Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub

Если кто-то не разблокирует поле вручную (Shift+Ctrl+F11), каждая кнопка может использоваться только один раз, что делает ее подходящей для метки времени, что, как кажется, действительно нужно. Это не красиво, но, возможно, это отправная точка, с которой вы можете работать над чем-то более сложным.

Кроме того, поскольку время не нужно обновлять, вкладка « Вставка » содержит кнопку « Вставить дату и время» , которая может вставлять метку времени в виде статического текста. Вы можете записать макрос, нажав кнопку и выбрав нужный формат времени. Или, чтобы снова использовать элемент управления Command Button, вы можете добавить такой код, который просто вызывает Insert Date and Time, чтобы вставить время сразу после кнопки:

Private Sub CommandButton1_Click()
  Selection.MoveRight Unit:=wdCharacter, Count:=1
  Selection.InsertDateTime DateTimeFormat:="h:mm:ss am/pm", InsertAsField:=False, DateLanguage:=wdEnglishUS, CalendarType:=wdCalendarWestern, InsertAsFullWidth:=False
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .