如何使用VBA更改powerpoint的“Date Last Modified Property”?尝试在底部设置f.FileDateModified时出错。这是我到目前为止所做的:
Set oPresentation = Presentations.Open(sFolder & StrFile, , , False)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Dim fileModDate As String
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(sFolder & StrFile)
fileModDate = f.DateLastModified
Set oFile = fso.CreateTextFile(sFolder & StrFile & "meta.txt")
oFile.WriteLine "Last author: " & oPresentation.BuiltInDocumentProperties("Last author")
'oFile.WriteLine "Last save time: " & oPresentation.BuiltInDocumentProperties("Last save time")
oFile.WriteLine "Date last modified " & fileModDate
oFile.Close
Call oPresentation.SaveAs(sFolder & StrFile & "x")
Set f = Nothing
Set fs = Nothing
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(sFolder & StrFile & "x")
f.DateLastModified = fileModDate
oPresentation.Close
Set f = Nothing
Set fs = Nothing
答案 0 :(得分:2)
此代码将 ModifyDate
设置为任何已关闭文件的当前日期和时间。它不适用于打开的文件,但如果文件已打开,则不会出错。
我使用了 VBA Word,但我想它虽然适用于 VBA PowerPoint。
Sub SetDateTime(Folder, FileName)
Dim oFile As Object
Set oFile = CreateObject("Shell.Application").Namespace(Folder).ParseName(FileName)
oFile.ModifyDate = FormatDateTime(Date, 2) & " " & FormatDateTime(Time, 3)
Set oFile = Nothing
End Sub
另一件事是日期和时间的格式。我将函数 FormatDateTime
分别与选项 2
和 3
一起使用。请注意两者之间的空间。当然,Date
和 Time
的值可以根据您的需要进行更改。