-1
我使用以下代碼讓用戶選擇一個文件夾,然後列出每個文件最後一次被修改的時間(一列爲一天,另一列爲時間)。第三列是文件的名稱。列出文件夾中的文件
Sub ListFils()
Dim f As Object, fso As Object, flder As Object
Dim folder As String
Dim wb As Workbook, ws As Worksheet
Set wb = ActiveWorkbook
Set ws = ActiveSheet
Set fso = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Cancel Selected"
End
End If
folder = .SelectedItems(1)
End With
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
For Each f In fso.GetFolder(folder).Files
ws.Range("A" & ws.Rows.Count).End(xlUp).Offset(1, 0) = f.DateLastModified
ws.Range("B" & ws.Rows.Count).End(xlUp).Offset(1, 0) = f.DateLastModified
ws.Range("C" & ws.Rows.Count).End(xlUp).Offset(1, 0) = f.Name
Next
Columns("A:C").Columns.AutoFit
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
End Sub
該代碼適用於Windows,但不適用於Mac。任何想法,我怎麼才能讓它工作?
「...根本不起作用」 - 是否有錯誤?它運行,但跳過的東西?它根本沒有運行,你有通知嗎?當你在Mac上運行它會發生什麼? – BruceWayne
Mac上不提供像Scripting庫這樣的Activex對象。你應該可以使用'Dir()'來做同樣的事情。 –
@BruceWayne,它沒有任何東西。出現調試彈出。 @TimWilliams,感謝您的提示,但我正在編碼的第一步,我不知道如何使用它。我嘗試使用'Dir()',但我只能用這個命令搜索文件。 –