VBA - 转换为日期

问题描述 投票:0回答:2

我又遇到一个问题:

我想在 VBA 中将字符串转换为日期

字符串看起来像:YYYY-DD-MM

日期应类似于:DD.MM.YYYY

我知道,通常您可以使用 cdate() 方法来执行此操作,但在这里不起作用。 我认为这是因为字符串的结构不好转换。

感谢您的帮助

信息Babo

string vba excel date-conversion
2个回答
29
投票
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

并且立即窗口显示

enter image description here


0
投票

' 试穿一下尺码。

' 这是以不同的格式返回前一天的字符串“日期”!!

' 传递的 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"
© www.soinside.com 2019 - 2024. All rights reserved.