VBA日期格式化不起作用

时间:2017-07-01 21:41:22

标签: word-vba

我能够做到这一点,我似乎无法在我的宏中获取日期以我喜欢的格式打印(" 2017年6月30日"对于例如)

这是我到目前为止的方式:

Sub TopDate()

  Selection.Delete Unit:=wdCharacter, Count:=1
  Dim mBefore As Date
  mBefore = Format(DateAdd("m", 0, Date - 1), "mmmm d yyyy")
  Selection.InsertBefore mBefore
  Selection.MoveRight Unit:=wdCharacter, Count:=1

End Sub

我将旧文档重复用作模板,理想情况下我只需突出显示旧日期,点击快捷方式并完成它。

我现在已经尴尬地坚持了半个小时,真的很感激一些帮助!

谢谢!

2 个答案:

答案 0 :(得分:0)

改变这个:

mBefore = Format(DateAdd("m", 0, Date - 1), "mmmm d yyyy")

mBefore = Format(DateAdd("m", 0, Date - 1), "d mmmm yyyy")

获取30 June 2017等格式。但我想知道一些简单的事情,因为这会给你带来问题,所以你一定不是在问正确的问题。

答案 1 :(得分:0)

所以你正在使用Word VBA(应该是问题的一部分) 因此,插入格式化日期的代码应如下:

Selection.Delete Unit:=wdCharacter, Count:=1
Selection.InsertDateTime DateTimeFormat:="dd MMMM yyyy"
Selection.MoveRight Unit:=wdCharacter, Count:=1