Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 列出文件夹中的文件_Macos_Vba_Excel_Macros - Fatal编程技术网

Macos 列出文件夹中的文件

Macos 列出文件夹中的文件,macos,vba,excel,macros,Macos,Vba,Excel,Macros,我使用以下代码让用户选择一个文件夹,然后列出其中每个文件最后一次修改的时间(一列表示日期,另一列表示时间)。第三列是文件名 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

我使用以下代码让用户选择一个文件夹,然后列出其中每个文件最后一次修改的时间(一列表示日期,另一列表示时间)。第三列是文件名

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上不工作。有什么办法可以让它工作吗?

正如蒂姆在评论中所说,行
Set fso=CreateObject(“Scripting.FileSystemObject”)
,以及任何依赖
fso
的东西在mac上都不起作用,但是你可以使用
Dir()
获取文件名,使用
FileDateTime(“filename”)
获取修改日期

“…根本不起作用”-是否有错误?是否运行,但跳过内容?是否根本不运行,是否收到通知?在mac上运行时会发生什么?mac上不提供脚本库之类的Activex对象。您应该能够使用
Dir()
来做同样的事情。@BruceWayne,我什么也做不到。出现调试弹出窗口。@TimWilliams,谢谢你的提示,但我正处于编码的第一步,我不知道如何使用它。我尝试使用
Dir()
,但我只能用这个命令搜索文件。