Недопустимый вызов процедуры или аргумент в Debug.Print - PullRequest
1 голос
/ 03 июля 2019

Попытка повторить функцию, которую я сделал несколько дней назад, используя некоторые советы, которые я получил здесь ... Я получаю Недопустимый вызов процедуры или аргумент в строке с Debug.Print.

Очень плохо знаком с VBAи Excel.Спасибо за вашу помощь и терпение.

Public Sub GetSOPFiles()
    ' Set folder path
    Const FolderPath As String = "C:\Users\test\Desktop\SOP Excel Prototype"

    Const FileExt As String = "docx"

    Dim Result As Variant
    Dim i As Integer
    Dim MyFile As Object
    Dim MyFSO As Object
    Dim MyFolder As Object
    Dim MyFiles As Object
    Dim dept As Variant
    Dim deptCodes As Variant

    Set MyFSO = CreateObject("Scripting.FileSystemObject")
    Set MyFolder = MyFSO.GetFolder(FolderPath)
    Set MyFiles = MyFolder.Files

    Dim vData As Variant
    Dim sTemp As Variant

    ReDim vData(0 To MyFiles.Count - 1, 0 To 0)

    x = 1

    With MyFiles
        While x <= UBound(vData, 1)
            Debug.Print (MyFiles(x).Name)
        Wend
    End With
End Sub

1 Ответ

0 голосов
/ 03 июля 2019

MyFiles является коллекцией и должна повторяться с циклом For Each...Next.

Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = MyFSO.GetFolder(FolderPath)
Set MyFiles = MyFolder.Files

For Each MyFile In MyFiles
    Debug.Print MyFile.Name ' no parentheses
Next

Вы не можете индексировать в коллекцию MyFiles. Используйте петлю For Each...Next, как объясняется в документации Files .

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