【发布时间】:2017-10-30 16:41:43
【问题描述】:
以下是一个 VBScript (.vbs),它处理放置在其上的所有 MS Outlook .msg 文件,在 MS Outlook 中打开每个 .msg 以检索所需信息,然后将文件重命名为 ReceivedTime + Subject + SenderName。例如,27102017 123241 AM - 会议议程 - George.msg
我很难将日期格式从 DDMMYYYY 更改为 YYYYMMDD。我已将 varNewFileName = ReplaceIllegalCharacters(olkMessage.ReceivedTime... 替换为 varNewFileName = ReplaceIllegalCharacters(Format(olkMessage.ReceivedTime, "yyyymmdd-hhnnss")... 但是当我运行脚本时,返回的新文件名没有日期和时间. 例如, - 会议议程 - George.msg
如果有人可以帮助我设置日期格式,我将不胜感激。
乔治
On Error Resume Next
Dim olkApp, olkMessage, objFSO, objFile, varFile, varNewFileName
Set olkApp = GetObject(,"Outlook.Application")
If TypeName(olkApp) = "Nothing" Then
Set olkApp = CreateObject("Outlook.Application")
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each varFile In WScript.Arguments
Set olkMessage = olkApp.CreateItemFromTemplate(varFile)
varNewFileName = ReplaceIllegalCharacters(olkMessage.ReceivedTime & " " & olkMessage.Subject & " From " & olkMessage.SenderName & " To " & olkMessage.To) & ".msg"
Set objFile = objFSO.GetFile(varFile)
objFile.Name = varNewFileName
Next
Set objFile = Nothing
Set objFSO = Nothing
Set olkMessage = Nothing
Set olkApp = Nothing
WScript.Quit
Function ReplaceIllegalCharacters(strSubject)
Dim strBuffer
strBuffer = Replace(strSubject, ":", "")
strBuffer = Replace(strBuffer, "\", "")
strBuffer = Replace(strBuffer, "/", "")
strBuffer = Replace(strBuffer, "?", "")
strBuffer = Replace(strBuffer, Chr(34), "'")
strBuffer = Replace(strBuffer, "|", "")
ReplaceIllegalCharacters = strBuffer
End Function
【问题讨论】:
标签: date vbscript outlook formatting