我又遇到一个问题:
我想在 VBA 中将字符串转换为日期
字符串看起来像:YYYY-DD-MM
日期应类似于:DD.MM.YYYY
我知道,通常您可以使用 cdate() 方法来执行此操作,但在这里不起作用。 我认为这是因为字符串的结构不好转换。
感谢您的帮助
信息Babo
Sub Main()
Dim strDate As String
strDate = "2013-06-11"
Debug.Print "Original Date: ", strDate
Debug.Print "CDate() Conversion: ", CDate(strDate)
Debug.Print "Format() as String: ", Format(strDate, "DD.MM.YYYY")
End Sub
并且立即窗口显示
' 试穿一下尺码。
' 这是以不同的格式返回前一天的字符串“日期”!!
' 传递的 Dstring 等于此格式“08/01/2023” .
Function SdateD(byref Dstring) as String
Dim NewDateD 'undefined
NewDateD = CDate(Dstring) ' This will convert it to #08/01/2023#
NewDateD = NewDateD - 1 ' now it is #07/31/2023#
Dstring = Format(Cstr(NewDateD), "m.d.yy") ' it will return the value 7.31.23
End Function
我从 MSWord 文档中提取日期。 2023 年 8 月 1 日
这是文档创建后的日期。
我想更改文件名以包含实际日期。 您不能在文档名称中使用“/”,因为这是目录的分隔符。
所以这有效:
RenameFile OriginalFN & ".Docx", OriginalFN & SdateD(Dstring) & ".Docx"