注册 登录
编程论坛 Excel/VBA论坛

请高手指教:如何用VBA,去尋找特定编辑日期之后的所有档案?

kihoke 发布于 2020-04-15 18:34, 1683 次点击
譬如,我想找2020年4月1日至今,所有修改过(或新建立的新档)
将它们都开啟,可以的话,把它们存在一个新资料夾是最好!可以辦到吗?
如果不行,是否有其他辦法或语言程式可以编辑?
2 回复
#2
albertsjohns2020-04-25 10:42
Sub FileModifiedTime()
Dim fso As Object
Dim fol As Object
Dim fil As Object

Dim timePoint As String
timePoint = InputBox("时间(格式:2020-4-16 20:00):")
If timePoint = "" Then
    Exit Sub
End If

Dim timeStruct As Date

If IsDate(timePoint) Then
    timeStruct = CDate(timePoint)
Else
    Exit Sub
End If
Dim newPath As String
newPath = InputBox("请输入文件夹路径(格式:C:\Users\albert\Desktop\dir):")


Set fso = CreateObject("Scripting.filesystemobject")
Set fol = fso.GetFolder(ActiveDocument.Path)

For Each fil In fol.Files
    If InStr(1, fil.Path, "$") > 0 Then
    ElseIf InStr(1, fil.Path, ".doc") > 0 Then
        If DateDiff("s", fil.DateLastModified, timeStruct) > 0 Or DateDiff("s", fil.DateCreated, timeStruct) > 0 Then 'fil.DateCreated, fil.DateLastAccessed
            MsgBox fil.Name & " 修改或创建时间较早"
        Else
            MsgBox fil.Name & " 修改或创建时间较晚"
            Documents.Open (fil.Path)
            ActiveDocument.SaveAs2 (newPath & "\" & fil.Name)
            ActiveDocument.Close
        End If
    End If
Next fil
End Sub
#3
albertsjohns2020-04-25 10:43
代码有问题可以加我QQ:3127441363
1