我想创建多个时间字段,单击时会显示当前时间,但更新同一文档中使用的自动增量字段时不会更新。我需要类似日期选择器内容控件的东西。当我看到您可以将日期显示为时,我曾抱有希望,h:mm am/pm
但这毫无意义,因为它只会显示为12:00 AM
。
有什么方法可以让日期选择器在您点击“今天”时显示当前时间吗?或者我还能做些什么呢?
答案1
是的,您可以使用 TIME 字段代码。更新每个字段 (F9),使其显示当前时间,然后锁定它 (Ctrl+F11),以便在更新文档中的其他字段时该值不会更改。
如果你想要某种 UI 元素,这样只需单击鼠标即可实现这一点,我只需拼凑一个极其粗鲁例如,我插入了一个旧版 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),否则每个按钮只能使用一次,因此适合使用时间戳,这听起来就是您真正想要的。虽然不太美观,但也许这是一个起点,您可以将其应用到更复杂的事物中。
或者,由于时间不需要更新,插入标签包括插入日期和时间按钮,可以插入时间戳作为静态文本。您可以录制一个宏,单击按钮并选择所需的时间格式。或者,要再次使用命令按钮控件,您可以添加这样的代码,只需调用插入日期和时间在按钮后立即插入时间:
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