Получить имена файлов из динамически меняющейся структуры папок (vba)

Начиная с elif option == 2:, вы отступали слишком много раз. В достойном текстовом редакторе вы должны выделить эти строки и нажать Shift + Tab, чтобы исправить проблему.

Кроме того, после for x in range(x, 1, 1): нет инструкции. Вставьте отступ pass, чтобы ничего не делать в цикле for.

Кроме того, в первой строке вы написали option == 1. == для равенства, но вы имели в виду = (один знак равенства), который присваивает правильное значение для левого имени, то есть

option = 1
-1
задан blackcornail 13 July 2018 в 10:11
поделиться

1 ответ

Вы можете использовать цикл For Each, как только вы предоставите корневую папку.

Пример:

Создать экземпляр FileSystemObject

Set objFSO = CreateObject("Scripting.FileSystemObject")

Получить объект папки

Set objFolder = objFSO.GetFolder("C:\Temp")

проходит через каждую папку в каталоге

For Each objSubFolder In objFolder.subfolders
    **Handle Code Goes Here**
Next objSubFolder

Итак, теперь у вас есть каждая подпапка корневой папки, которую вы предоставили (C: \ Temp) в этом случае вы можете сделать что-то подобное, чтобы получить информацию:

String1 = objSubFolder.Path 
String 2 = objSubFolder.Name
1
ответ дан Petay87 17 August 2018 в 13:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: