2014-11-24 12 views
-2

Я искал все и пробовал много разных кода VBA - пока не повезло.Создать полную структуру папок (верхние папки, вложенные папки, подпапки и т. Д.) Через excel

Проблема:

Чрезвычайно длинный список "папки, которые будут созданы", написанной в Excel. Все папки и имена подпапок перечислены в том же столбце в последующих строках. Другой столбец определяет, является ли это подпапкой или нет. Как это

Folder name  Folder level 
A    1 
B    1 
C    2 
D    3 
E    3 
F    2 
G    3 
H    4 

Решение:

код, который может либо (предпочтительнее) создать структуру папок на основе существующей нумерации или (альтернативный) код, который может создать структуру папок на основе столбцов, то есть я может перемещать имена папок вокруг так, чтобы все подпапки находились в столбце B, subsubfolders в столбце C и т. д. Я бы предпочел оставить ящики пустыми, чтобы я не повторял имена всех верхних папок. То есть Я предпочел бы (для альтернативного решения), чтобы иметь возможность использовать что-то вроде этого:

Folder Level 1 Folder level 2 Folder Level 3 Folder Level 4 
A 
B     
       C 
           D     
            E     
       F     
            G 
                H 

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

+0

Ups Я вижу, что макет моих примеров все испорчен. Пожалуйста, не обращайте на них внимания. К сожалению, мне не разрешено публиковать фотографии. –

+2

'Я очень новичок в VBA, поэтому сам код не может быть и речи.« Stackoverflow - это не кодовый сайт. Я бы рекомендовал изучить VBA, а затем задать вопрос. Если это то, что вам нужно срочно, тогда подумайте о найме кого-то на таких сайтах, как freelancer.com/elance.com :) –

+0

Благодарим вас за комментарий. Из просмотра на этой и других форумах я вижу, что, хотя я должен учиться VBA, меня там не было бы. Кажется, что большинство пользователей, отвечающих на вопросы, похожие на мои, знает, как создавать каталоги с одним уровнем или только с одной вложенной папкой в ​​каждой папке. Таким образом, хотя я должен использовать много времени для изучения VBA, у меня, вероятно, остались бы те же проблемы: I.e. 1. Как создать каталог с множеством разных подпапок и часто более одного. 2. Как это сделать, когда моя база - это список имен папок, а не полный путь к папке. –

ответ

0

Предоставленные данные не дают четкого определения того, что необходимо. (то есть, какие подпапки принадлежат к тем родительским папкам). Лучшим советом, который я могу вам дать в это время, является исследование функции MkDir(). http://msdn.microsoft.com/en-us/library/k1d22wfh%28v=vs.90%29.aspx

Помните, что эта функция не может сразу создать целую структуру каталогов, она может добавлять только один каталог к ​​существующему, по одному уровню за раз.

Это, как говорится, ваша задача будет гораздо проще, если бы вы были предоставлены данные в формате:

C:\Parent Folder 1\Sub Folder 1\Sub Sub Folder 1 
C:\Parent Folder 2 
C:\Parent Folder 3\Sub Folder 3 

Тогда ваша задача будет заключаться в разреженных окончательный каталог и построить его на один уровень за один раз.

+0

Спасибо за ваш быстрый ответ - высоко ценим! Да, было бы намного проще. Однако я был предоставлен (и будет часто в разы, чтобы быть обеспеченным) примерно 400 полностью разных имен папок, перечисленных как первый пример выше. Прошу прощения за то, что я не знаю, к каким родительским папкам принадлежат отдельные подпапки.Я должен был заявить, что выше перечисление основано на очень простом принципе: вы читаете иерархию сверху донизу, в результате папка всегда является подпапкой в ​​папку выше, если они не находятся на одном уровне (тогда они будут «сестрой» -folders "). –

+0

В приведенных выше примерах показано, что в папке A нет подпапок. Папка B имеет две подпапки (C и F). D и E являются подпапками на C, а G является подпапкой F. F имеет H в качестве подпапки. Несмотря на то, что я получаю все имена папок в одном столбце, я могу легко перемещать их так. Вот почему я так надеялся на решение. –

+0

И жаль, что не поблагодарил вас за ссылку. Я обязательно прочитаю об этом. Однако я считаю, что мне будет трудно решить проблему самостоятельно. –

 Смежные вопросы

  • Нет связанных вопросов^_^