Ма c ОС Excel VBA Читать все файлы в папке - PullRequest
0 голосов
/ 31 января 2020

Я действительно новичок в использовании кода VBA и надеюсь, что кто-то здесь может помочь мне решить мою проблему.

Я использую ОС Ma c.

У меня есть файл Excel в скажем "/Users/Path1/File1.xlms" - также у меня есть несколько файлов Excel в папке "/Users/Path1/Path2/File*.xmls".

Я хотел бы список имен файлов в папка с несколькими файлами - список должен быть помещен в «File1.xlms». Также я хотел бы прочитать две ячейки из каждого из файлов. Это содержимое двух ячеек должно быть помещено в «File1.xlms».

Я попытался найти код в inte rnet - я могу найти имена файлов и перечислить их, но я не уверен, как реализовать функцию «Чтение из указанного c ячейка» и записать ее в «File1.xlms».

Код, который у меня сейчас есть:

Sub Basic_Dir_Example_Mac()
    Dim MyPath As String, FilesInPath As String
    Dim Fnum As Long, MyFiles() As String
    Dim Nwb As Worksheet

    On Error Resume Next
    MyPath = "/Users/Path1/Path2/"
    If MyPath = "" Then Exit Sub
    On Error GoTo 0

    If Right(MyPath, 1) <> Application.PathSeparator Then
        MyPath = MyPath & Application.PathSeparator
    End If

    FilesInPath = Dir(MyPath & "*.xl*")
    If FilesInPath = "" Then
        MsgBox "No files found"
        Exit Sub
    End If

    Fnum = 0
    Do While FilesInPath <> ""
        Fnum = Fnum + 1
        ReDim Preserve MyFiles(1 To Fnum)
        MyFiles(Fnum) = FilesInPath
        FilesInPath = Dir()
    Loop

    If Fnum > 0 Then

        Set Nwb = ActiveSheet

        For Fnum = LBound(MyFiles) To UBound(MyFiles)
          On Error Resume Next
           With Nwb
                MyFiles(Fnum) = Replace(MyFiles(Fnum), ".xlsm", "")
                .Cells(Fnum + 8, 2).Value = MyFiles(Fnum)
            End With
            On Error GoTo 0
        Next Fnum
    End If
End Sub

Ожидание чтобы увидеть некоторые возможные решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...