Excel команда создать папку

Содержание

  1. Создание папок из списка Excel
  2. Пакетное создание папок при помощи сторонних программ
  3. Быстрое создание папок при помощи надстройки для Excel
  4. Как создать папку в excel пошаговая инструкция
  5. Создание папок из списка Excel
  6. Пакетное создание папок при помощи сторонних программ
  7. Быстрое создание папок при помощи надстройки для Excel
  8. Как создать папку в excel пошаговая инструкция
  9. Как создать папки и подпапки из значений ячеек в Excel?
  10. Создавайте папки на основе значений ячеек с помощью Kutools for Exce
  11. Создание папок и подпапок на основе значений ячеек с помощью Kutools для Excel
  12. Создать папки по списку в проводнике с помощью Excel. Много папок!
  13. Подробнее
  14. 1. Создаем список папок
  15. 2. Создаём новый макрос
  16. 3. Сохраняем и запускаем макрос
  17. CadSupport
  18. Excel — папки из ячеек с гиперссылками
  19. Еще по теме Excel macro:
  20. Добавить комментарий Отменить ответ

Создание папок из списка Excel

В операционной системе Windows создавать папки можно самыми различными способами. Создать несколько папок вручную ни для кого не составит труда. Рассмотрим тот случай, когда необходимо создать множество папок с определенными именами.

Пакетное создание папок при помощи сторонних программ

Для массового создания папок можно использовать сторонние программы, макросы и надстройки. У каждого из этих способов есть свои плюсы и минусы. Например, не на каждом рабочем месте есть возможность самостоятельной установки сторонних приложений, а найдя во всемирной сети программный код макроса, многие не знают что с ним делать, либо при определенных условиях, макрос может выдавать ошибки и вводить пользователей в ступор.

Быстрое создание папок при помощи надстройки для Excel

Быстро создавать любое количество папок можно без использования сторонних программ при помощи Excel. Поскольку стандартный Excel создавать папки не умеет, необходимо установить надстройку (не путать с настройкой), которая расширит его возможности. После установки надстройки (это такая программа, написанная на встроенном в приложения Office языке программирования VBA) на ленте Excel появляется новая кнопка на вкладке «Надстройки» (если такой вкладки на ленте нет, то и сама вкладка также появляется после установки надстройки). Нажатие этой кнопки вызывает диалоговое окно (пользовательскую форму), в котором можно задать некоторые параметры создания новых папок.

В диалоговом окне необходимо указать путь к папке, в которой будут генерироваться новые папки. Имена папкам задаются на основе значений ячеек, поэтому необходимо указать диапазон ячеек, либо несколько диапазонов (удерживая клавишу Ctrl нажатой), либо несколько отдельных ячеек. При этом для имен папок в Windows существуют ограничения. В именах папок не должно быть запрещенных символов, таких как: /:*?»<>|. Если в значениях ячеек такие символы все же есть, то программа их отследит и исключит из имен папок, оставив значения в самих ячейках без изменений. Предусмотрена возможность замены запрещенных символов на какой-либо другой символ, заданный пользователем. Для быстрого открытия созданных папок в надстройке предусмотрена возможность создания гиперссылок.

Источник

Как создать папку в excel пошаговая инструкция

Создание папок из списка Excel

В операционной системе Windows создавать папки можно самыми различными способами. Создать несколько папок вручную ни для кого не составит труда. Рассмотрим тот случай, когда необходимо создать множество папок с определенными именами.

Пакетное создание папок при помощи сторонних программ

Для массового создания папок можно использовать сторонние программы, макросы и надстройки. У каждого из этих способов есть свои плюсы и минусы. Например, не на каждом рабочем месте есть возможность самостоятельной установки сторонних приложений, а найдя во всемирной сети программный код макроса, многие не знают что с ним делать, либо при определенных условиях, макрос может выдавать ошибки и вводить пользователей в ступор.

Быстрое создание папок при помощи надстройки для Excel

Быстро создавать любое количество папок можно без использования сторонних программ при помощи Excel. Поскольку стандартный Excel создавать папки не умеет, необходимо установить надстройку (не путать с настройкой), которая расширит его возможности. После установки надстройки (это такая программа, написанная на встроенном в приложения Office языке программирования VBA) на ленте Excel появляется новая кнопка на вкладке «Надстройки» (если такой вкладки на ленте нет, то и сама вкладка также появляется после установки надстройки). Нажатие этой кнопки вызывает диалоговое окно (пользовательскую форму), в котором можно задать некоторые параметры создания новых папок.

В диалоговом окне необходимо указать путь к папке, в которой будут генерироваться новые папки. Имена папкам задаются на основе значений ячеек, поэтому необходимо указать диапазон ячеек, либо несколько диапазонов (удерживая клавишу Ctrl нажатой), либо несколько отдельных ячеек. При этом для имен папок в Windows существуют ограничения. В именах папок не должно быть запрещенных символов, таких как: /:*?»<>|. Если в значениях ячеек такие символы все же есть, то программа их отследит и исключит из имен папок, оставив значения в самих ячейках без изменений. Предусмотрена возможность замены запрещенных символов на какой-либо другой символ, заданный пользователем. Для быстрого открытия созданных папок в надстройке предусмотрена возможность создания гиперссылок.

Как создать папку в excel пошаговая инструкция

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

1. Щелкнув по кнопке со стрелкой рядом с кнопкой Создать (New) на Стандартной панели инструментов, выберите пункт Папка (Folder);

Выполните команды меню Сервис Организовать (Tools Organize) и нажмите кнопку Новая папка (New Folder) на панели Настройка (Organize).

2. В открывшемся диалоговом окне введите имя папки и выберите тип документов, сохраняемых в ней, из раскрывающегося списка Содержимое папки (Folder Contains) — рис. 39.6.

3. Выберите папку, внутрь которой будет помещена новая папка. Если вы хотите, чтобы она располагалась на одном уровне с другими, на этапе 2 выделите в списке пункт Личные папки (Personal Folders).

4. Нажмите ОК. Новая папка появится в списке Все почтовые папки в Области переходов (рис. 39.7).

Вы можете завести новую папку другим способом: нажмите кнопку Создать в диалоговом окне Перемещение элементов (Move Items) — рис. 39.5.

Источник

Как создать папки и подпапки из значений ячеек в Excel?

Вы когда-нибудь пытались создать несколько папок и подпапок на основе значений ячеек в Excel? Эта статья поможет вам создать сразу несколько папок и подпапок из списка значений ячеек.

Создание папок на основе значений ячеек с помощью Kutools for Excel

Создавайте папки и подпапки на основе значений ячеек с помощью Kutools for Excel

Создавайте папки на основе значений ячеек с помощью Kutools for Exce

Если вы просто хотите для создания папок из списка значений ячеек, Kutools for Excel Create Folders from Cell Contents может помочь вам быстро и легко создавать папки.

После установки Kutools for Excel , пожалуйста, сделайте следующее:

1 . Выберите значения ячеек, на основе которых вы хотите создать папки.

2 . Затем нажмите Kutools Plus > Импорт и экспорт > Создать папки из содержимого ячеек , см. Снимок экрана:

3 . В диалоговом окне Создание папок из содержимого ячеек нажмите кнопку , чтобы выбрать каталог для размещения созданные папки, см. снимок экрана:

4 . Затем нажмите кнопку Ok , все папки были созданы на основе значений ячеек в указанном каталоге, см. Снимок экрана:

Создание папок и подпапок на основе значений ячеек с помощью Kutools для Excel

С помощью утилиты Создать папки из содержимого ячеек вы также можете создавать как папки, так и подпапки на основе содержимого ячейки.

Во-первых, вам нужно ввести содержимое ячейки в ячейки, разделенные знаком косой черты, на основе которых вам нужно создать папки и подпапки, см. следующий снимок экрана:

Затем вы можете применить функцию Создать папки из содержимого ячейки для создания папок и подпапок.

1 . Выберите значения ячеек, на основе которых вы хотите создать папки и подпапки.

2 . Затем нажмите Kutools Plus > Импорт и экспорт > Создать папки из содержимого ячеек , чтобы открыть Создать Диалоговое окно Папки из содержимого ячеек .

3 . В диалоговом окне нажмите кнопку , чтобы выбрать каталог для размещения созданных папок и подпапок, см. Снимок экрана:

4 . Затем нажмите кнопку Ok , папки и подпапки были созданы сразу на основе значений ячеек, см. Снимок экрана:

Источник

Создать папки по списку в проводнике с помощью Excel. Много папок!

Задача: создать за 5 сек. много папок в проводнике. У папок должны быть имена в соответствии с заранее подготовленным списком.

Для чего: да для чего угодно. Например, вы делаете шаблонный путь к файлу с информацией о клиенте. Файл у всех клиентов будет называться одинаково, а вот папка, в которой находится файл, будет называться именем клиента. Что делать, если клиентов 1000?

Что делаем:

  • создаем список будущих папок (они же — имена клиентов) в пустой таблице Excel;
  • вставляем в таблицу макрос, состоящий всего из нескольких строк;
  • запускаем макрос!

Подробнее

1. Создаем список папок

Допустим, папки будут называться так (спасибо генератору randomus.ru)

Lisa Harrington
Gloria Brown
Rodney Baker
Carrie Caldwell
Michael Miller
Jacob Price
David Rodriguez
David Johnson
Ryan Smith
Betty Clark

Создаем новую таблицу Excel. Копируем и строго в первую колонку с яч. A1 вставляем данный список

Сохраняем таблицу как книгу с поддержкой макросов (*.xlsm)

2. Создаём новый макрос

нажимаем Alt-F8 (или меню Разработчик — Макросы). Далее вводим произвольное имя макроса и нажимаем Создать.

Копируем в большое поле справа следующий код:

Sub macros1()
On Error Resume Next
For Each oCell In Range([A1], [A9999].End(xlUp))
If Not IsEmpty(oCell) Then MkDir «C:tmp» & oCell
Next
End Sub

В коде можно изменить путь к создаваемым папкам, имя макроса, просматриваемый диапазон и т.д.
Проверьте, что родительская папка, указанная в коде макроса, действительно существует.

3. Сохраняем и запускаем макрос

Жмем Сохранить.
Жмем Alt-F8Выполнить, новые папки создаются моментально. Проверяем новые папки по указанному в макросе пути.

Источник

CadSupport

Все о BIM, CAD, ERP

В рамках одной из задач понадобилось создать папки с именами позиций заведенных в эксельку. Так как набралось больше сотни строк, да и в дальнейшем список грозит расширятся выполним эту задачу с помощью скрипта. Заодно добавим гиперссылок так, чтобы к каждой позиции у нас был доступ прямо из Эксель.
На выходе получаем список папок в экселе с со ссылками чтобы можно было их, папки, сразу открыть.

Sub Create_Folders()
‘для корректной работы необходимо выбрать ячейки перед тем как запустить макрос.
Dim OpenAt As String ‘Зададим каталог для папок по умолчанию.
OpenAt = «My computer:»
‘Вызовем диалог для выбора места папок.
Set ShellApp = CreateObject(«Shell.Application»).BrowseForFolder(0, «Please Choose The Folder For This Project», 0, OpenAt)
‘Устанавливаем выбранную папку в качестве рабочей. (в случае ошибки отменяем процесс)
On Error Resume Next
BrowseForFolder = ShellApp.Self.Path
‘Выхватываем список выбранных ячеек.
Dim Rng As Range
Dim maxRows, maxCols, r, c As Integer
Set Rng = Selection
maxRows = Rng.Rows.Count
maxCols = Rng.Columns.Count
‘—в цикле проходим все ячейки в нашем—
For c = 1 To maxCols
r = 1
Do While r ‘Если в ячейке есть какой то значение то создаем папку с этим знчением
If Rng(r, c) <> «» Then
‘а на ячейку накидываем гиперссылку на папку с этим именем.
Dim cnf
Set cnf = CreateObject(«Scripting.FileSystemObject»)
‘Если папка с таким именем по нашему пути уже существует, то просто добавляем гиперссылку.
If (cnf.FolderExists(BrowseForFolder & «» & Rng(r, c))) Then
‘MsgBox «folder does already exist»
ActiveSheet.Hyperlinks.Add Anchor:=Rng(r, c), Address:=BrowseForFolder & «» & Rng(r, c)
‘if folder does not previously exist, then we need to create it and add hyperlink
Else
‘Сообщение «need to create folder»
cnf.CreateFolder (BrowseForFolder & «» & Rng(r, c))
ActiveSheet.Hyperlinks.Add Anchor:=Rng(r, c), Address:=BrowseForFolder & «» & Rng(r, c)
End If
On Error Resume Next
‘если в ячейке пусто то ничего не делаем, идем на следующую ячейку
End If
r = r + 1
Loop
Next c
End Sub

Оригинальный скрипт взят отсюда.

Еще по теме Excel macro:

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Adblock
detector

Kutools for Excel : с более чем 300 удобными надстройками Excel , попробуйте бесплатно без ограничений в течение 30 дней .

Предположим, у вас есть список имен сотрудников в диапазоне рабочего листа, и теперь вы хотите создать несколько папок для каждого из них в ячейках для записи их информации. Если вы будете создавать папки одну за другой, это займет много времени. Но как быстро создать эти папки? Сегодня я расскажу вам несколько простых приемов:

Создавать папки на основе значений ячеек с кодом VBA

Быстро создавайте папки на основе значений ячеек с Kutools for Excelхорошая идея3


Создавать папки на основе значений ячеек с кодом VBA

Например, у меня есть диапазон имен на листе, я хочу создать папки для каждого из них и сохранить их по указанному пути, с кодом VBA я могу завершить эту задачу.

1. Поместите активную книгу в определенный каталог, в который вы поместите созданные папки. Откройте книгу и выберите диапазон ячеек, который вы хотите использовать.

doc-create-папки1

2. Нажмите Застройщик > Визуальный Бейсик, Новый Microsoft Visual Basic для приложений появится окно, щелкните Вставить > Модули, и введите в модуль следующий код:

Код VBA: создание папок на основе значений ячеек

Sub MakeFolders()
Dim Rng As Range
Dim maxRows, maxCols, r, c As Integer
Set Rng = Selection
maxRows = Rng.Rows.Count
maxCols = Rng.Columns.Count
For c = 1 To maxCols
r = 1
Do While r <= maxRows
If Len(Dir(ActiveWorkbook.Path & "" & Rng(r, c), vbDirectory)) = 0 Then
MkDir (ActiveWorkbook.Path & "" & Rng(r, c))
On Error Resume Next
End If
r = r + 1
Loop
Next c
End Sub

3. Нажмите док-умножить-расчет-3 кнопку для выполнения кода. Все выбранные ячейки были созданы в папки со своими значениями. И папки помещаются в путь так же, как активная книга. Смотрите скриншот:

doc-create-папки2


Быстро создавайте папки на основе значений ячеек с Kutools for Excel

Вам легко и удобно создавать папки на основе значений ячеек, если вы используете инструмент- Kutools for Excel.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Выберите диапазон, в котором вы хотите создать папки.

2. Нажмите Кутулс Плюс > Импорт / Экспорт > Создание папок из содержимого ячеек…, См. Снимок экрана:

doc создать папку 1

3. В Создание папок из содержимого ячеек диалоговое окно, нажмите doc-create-папки3кнопку, чтобы указать путь, по которому вы хотите сохранить папки. Видно скриншот:

doc создать папку 2

4. Нажмите OK. И окно подсказки напомнит вам, сколько папок было создано. Смотрите скриншот:

doc создать папку 3

5. Нажмите OK. И все значения в выбранном диапазоне были созданы папками в указанной папке.
doc создать папку 4


Перечислить все имена файлов из папки в лист

чтобы узнать больше об этой функции.

Вот утилита в Kutools for Excel – Список имен файлов может перечислить все имена файлов папки на листе, если он вам интересен, продолжайте читать.

После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)

1. Нажмите Кутулс Плюс > Импорт/Экспорт > Список имен файлов.
doc создать папку 5

2. в Список имен файлов диалоговом окне выберите папку, в которой вы хотите отобразить ее файлы, установите флажок Все файлы or Указывать вариант, как вам нужно в Тип файлов sдействие.
img src=»//cdn.extendoffice.com / images / stories / doc-excel / create-folder / doc-create-folder-6.png «alt =» doc create folder 6 «/>

3. Нажмите Okсоздается новый лист со всеми именами файлов и некоторой относительной информацией.
doc создать папку 7


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Создание, копирование, перемещение и удаление папок в VBA Excel методами объекта FileSystemObject. Удаление папок с помощью оператора RmDir.

Создание папки (метод CreateFolder)

CreateFolder – это метод объекта FileSystemObject, предназначенный для создания новой папки.

Синтаксис

object.CreateFolder (foldername)

Параметр foldername можно в скобки не заключать.

Параметры

Параметр Описание
object Переменная, возвращающая объект FileSystemObject.
foldername Строковое выражение, указывающее папку, которую необходимо создать.

Если папка, указанная параметром foldername уже существует, произойдет ошибка.

Копирование папки (метод CopyFolder)

CopyFolder – это метод объекта FileSystemObject, предназначенный для копирования папки из одного расположения в другое.

Синтаксис

object.CopyFolder source, destination, [overwrite]

Параметры

Параметр Описание
object Переменная, возвращающая объект FileSystemObject.
source Строковое выражение, указывающее папку, которую требуется скопировать в другое расположение. Для копирования нескольких папок используются подстановочные знаки.
destination Строковое выражение, задающее конечное расположение, куда требуется скопировать папку (папки) со всеми вложениями из элемента source. Подстановочные знаки не допускаются.
overwrite Логическое значение, которое указывает, требуется ли перезаписывать существующие папки и файлы в конечном расположении. True – папки и файлы будут перезаписаны, False – перезапись не выполняется. Необязательный параметр. По умолчанию – True.

Перемещение папки (метод MoveFolder)

MoveFolder – это метод объекта FileSystemObject, предназначенный для перемещения папки из одного расположения в другое.

Синтаксис

object.MoveFolder (source, destination)

Параметры

Параметр Описание
object Переменная, возвращающая объект FileSystemObject.
source Строковое выражение, указывающее папку, которую требуется переместить в другое расположение. Для перемещения нескольких папок используются подстановочные знаки.
destination Строковое выражение, задающее конечное расположение, куда требуется переместить папку (папки) со всеми вложениями из элемента source. Подстановочные знаки не допускаются.

Удаление папки (метод DeleteFolder)

DeleteFolder – это метод объекта FileSystemObject, предназначенный для удаления папки с диска со всем ее содержимым.

Синтаксис

object.DeleteFolder folderspec, [force]

Параметры

Параметр Описание
object Переменная, возвращающая объект FileSystemObject.
folderspec Строковое выражение, указывающее папку, которую следует удалить. Для удаления нескольких папок используются подстановочные знаки.
force Значение типа Boolean: True – удаляются все папки, False (по умолчанию) – не удаляются папки с атрибутом «только для чтения» (необязательный параметр).

Метод DeleteFolder удаляет папки независимо от того, есть ли в них содержимое или нет.

Удаление папки (оператор RmDir)

RmDir – это оператор, предназначенный для удаления пустых папок и каталогов.

Синтаксис

  • path – строковое выражение, определяющее каталог или папку, которую необходимо удалить.

Если удаляемый каталог или папка содержит файлы, произойдет ошибка.

Примеры

Пример 1
Создание папок в VBA Excel с помощью метода CreateFolder:

Sub Primer1()

Dim fso As Object, i As Integer

‘Создаем новый экземпляр FileSystemObject

Set fso = CreateObject(«Scripting.FileSystemObject»)

‘Создаем несколько новых папок

    With fso

        .CreateFolder («C:Папка главная»)

            For i = 1 To 5

                .CreateFolder «C:Папка главнаяПапка « & i

            Next

    End With

End Sub

В результате работы этого кода на диске C будет создана Папка главная и в ней еще 5 папок, которые будем использовать для копирования, перемещения и удаления.

Пример 2
Копирование папок в VBA Excel с помощью метода CopyFolder:

Sub Primer2()

Dim fso As Object

Set fso = CreateObject(«Scripting.FileSystemObject»)

‘Копируем папки

    With fso

        .CopyFolder «C:Папка главнаяПапка 2», «C:Папка главнаяПапка 1»

        .CopyFolder «C:Папка главнаяПапка 3«, «C:Папка главнаяПапка 1Папка 2«

    End With

End Sub

Код этого примера копирует папки следующим образом: Папка 2 в Папка 1, а Папка 3 в расположение Папка 1Папка 2.

Пример 3
Перемещение папок в VBA Excel с помощью метода MoveFolder:

Sub Primer3()

Dim fso As Object

Set fso = CreateObject(«Scripting.FileSystemObject»)

‘Перемещаем папки

    With fso

        .MoveFolder «C:Папка главнаяПапка 3», «C:Папка главнаяПапка 2»

        .MoveFolder «C:Папка главнаяПапка 4«, «C:Папка главнаяПапка 2«

        .MoveFolder «C:Папка главнаяПапка 5», «C:Папка главнаяПапка 2Папка 4«

    End With

End Sub

Пример 4
Удаление папок в VBA Excel с помощью метода DeleteFolder:

Sub Primer4()

Dim fso As Object

Set fso = CreateObject(«Scripting.FileSystemObject»)

‘Удаляем папки с содержимым

    With fso

        .DeleteFolder «C:Папка главнаяПапка 1»

        .DeleteFolder «C:Папка главнаяПапка 2»

    End With

End Sub

Пример 5
Удаление пустой папки в VBA Excel с помощью оператора RmDir:

Sub Primer5()

‘Удаляем пустую папку

    RmDir «C:Папка главная»

End Sub

SharePoint Server 2016 SharePoint Server 2013 SharePoint Server 2013 Enterprise SharePoint в Microsoft 365 Office для бизнеса Office 365 для малого бизнеса SharePoint Server 2010 Microsoft 365 Microsoft Списки Еще…Меньше

Для создания представления недостаточно создать папку в списке или управлять им в списках, созданных в Microsoft SharePoint, в приложении Списки в Microsoft 365 или Teams. 

Создание папки в списке аналогично созданиюSharePoint библиотек. Но в списках невозможно создать папку, пока владелец списка или пользователь с разрешениями на проектирование не включит возможность создания папки:

Чтобы включить возможность создания папки

  1. Перейдите в параметры списка > дополнительные параметры >папки.

  2. В области Сделать команду «Новая папка» доступной?выберите Да.

  3. Нажмите кнопку ОК.

Создание папки в списке

По умолчанию для создания папки в списках используется команда Создать Microsoft 365 папки. Однако новая папка может быть недоступна, если владелец списка или администратор не включил эту функцию.

  1. Перейдите на SharePoint со списком, в который вы хотите добавить папку.

    Или Microsoft Teams на вкладке Файлы в верхней части канала выберите Дополнительные > Открыть в SharePoint.

  2. Выберите имя списка на панели быстрого запуска или Параметры Кнопка "Параметры" в форме шестеренки , выберите Содержимое сайта ,а затем выберите название списка, в который вы хотите добавить папки.

    Примечание: Ваш экран выглядит иначе и вы используете SharePoint ? Возможно, ваш администратор SharePoint классической работы в библиотеке документов. В этом случае см. создание папки в списке SharePoint классического впечатления.

  3. На верхней панели инструментов выберите кнопку + Новый, а затем выберите папку в dropdown.

    Раскрывающееся меню кнопки "+ Создать" с выделенным пунктом "Папка"

    Примечание: Если команда + Новая папка не отображается, вы можете снова включить ее, по крайней мере, с разрешениями владельца или разработчика. Выберите Параметры Кнопка "Параметры" в форме шестеренки, выберите Параметры списка, а затем выберите Дополнительные параметры. В разделе Папки выберите Да для команды Сделать команду «Новая папка» доступной. Затем обновите экран и повторите это шаг.

  4. В диалоговом окке Папка введите имя папки в поле и выберите создать.

    Диалоговое окно "Папка" с выделенной кнопкой "Создать"

  • Примечание: Чтобы изменить имя папки, выберите много многоps и выберите изменить. Измените имя папки и нажмите кнопку Сохранить.

  • (Необязательно) Вы можете пригласить других людей поделиться папкой. Дополнительные сведения см. в статью Изменение разрешений для списка или библиотеки SharePoint и управление ими.

Совет: Вместо папокSharePoint представления, так как они позволяют фильтровать, группировать и сортировать содержимое различными способами. Если список длинный, оптимальным решением может оказаться сочетание представлений и папок. Чтобы создать представления, см. создание, изменение и удаление представления списка или библиотеки.

Создание папки в списке классического впечатления

Чтобы создать папку в классическом SharePoint, выполните указанные здесь действия.

Примечание: Если команда Новая папка недоступна, вы можете снова включить ее, если у вас есть по крайней мере разрешения владельца или разработчика. На вкладке Библиотека на ленте выберите библиотекаПараметры , а затем выберите Дополнительные параметры. Убедитесь в том, что в разделе «Папка» для параметра Сделать команду «Создать папку» доступной выбран вариант Да.

  1. Перейдите на сайт SharePoint со списком, в который необходимо добавить папку.

  2. Выберите имя списка на панели быстрого запуска или выберите Параметры Кнопка "Параметры Office 365" , а затем выберите Содержимое сайта ,а затем выберите название списка, в который вы хотите добавить папки.

    Примечание: Разработчики могут существенно изменить вид сайта и навигацию по нему. Если не удается найти какой-либо элемент интерфейса, например команду, кнопку или ссылку, обратитесь к администратору.

  3. На ленте выберите вкладку Элементы, а затем в группе Новые выберите пункт Новая папка.

    Изображение вкладки ленты "Файлы" в SharePoint с выделенной кнопкой "Создать папку".

    Примечание: Если команда Новая папка недоступна, вы можете снова включить ее, если у вас есть по крайней мере разрешения владельца или разработчика. На вкладке Список на ленте выберите Параметры идополнительные параметры. Убедитесь в том, что в разделе «Папка» для параметра Сделать команду «Создать папку» доступной выбран вариант Да.

    Примечание: Чтобы изменить имя папки в дальнейшем, выберите многовеки, затем — много далее… в диалоговом окне и выберите Переименовать. Измените имя папки в поле Имя и выберите сохранить.

  4. В диалоговом окке Создание папки введите имя папки в поле Имя и выберите создать.

    Диалоговое окно "Создание папки" для списка

Создание папки вSharePoint Server 2016 или SharePoint Server 2013 списке

Владелец SharePoint списка или пользователь с разрешениями на проектирование может определить, отображается ли команда Создать папку, изменив дополнительные параметры.

  1. Перейдите на SharePoint со списком, в который вы хотите добавить папку.

  2. Выберите имя списка на панели быстрого запуска или выберите Параметры Кнопка "Параметры Office 365" , а затем выберите Содержимое сайта ,а затем выберите название списка, в который вы хотите добавить папки.

    Примечание: Разработчики могут существенно изменить вид сайта и навигацию по нему. Если не удается найти какой-либо элемент интерфейса, например команду, кнопку или ссылку, обратитесь к администратору.

  3. На ленте выберите вкладку Файлы, а затем в группе Новые выберите новая папка.

    Изображение вкладки ленты "Файлы" в SharePoint с выделенной кнопкой "Создать папку".

    Примечание: Если команда Новая папка недоступна, вы можете снова включить ее, если у вас есть по крайней мере разрешения владельца или разработчика. На вкладке Список на ленте выберите Параметры идополнительные параметры. Убедитесь в том, что в разделе «Папка» для параметра Сделать команду «Создать папку» доступной выбран вариант Да.

  4. В диалоговом окке Новая папка введите имя папки в поле Имя.

    Диалоговое окно "Создание папки" для списка

    В SharePoint Server 2016 при желании вы можете пригласить людей поделиться папкой.

  5. Когда все будет готово, выберите Создать или Сохранить.

Примечания: 

  • Чтобы изменить имя папки в дальнейшем, выберите многовеки, затем — много далее… в диалоговом окне и выберите Переименовать. Измените имя папки в поле Имя.

  • Чтобы быстро перейти на следующий уровень вверх в иерархии папок, на ленте выберите вкладку Список и выберите Перейти вверх.

Вместо папок SharePoint представления, так как они позволяют фильтровать, группировать и сортировать содержимое различными способами. Если список длинный, оптимальным решением может оказаться сочетание представлений и папок. Чтобы узнать, как создавать представления, см. создание, изменение и удаление представления списка или библиотеки.

Создание папки в SharePoint 2010 списке

По умолчанию команда Создать папку не отображается в списках. Владелец SharePoint или пользователь с разрешениями на проектирование списка может определить, отображается ли команда Создать папку, изменив дополнительные параметры списка.

  1. Перейдите на сайт SharePoint со списком, в который необходимо добавить папку.

  2. Выберите имя списка на панели быстрого запуска или выберите Действия сайта ,выберите Просмотреть весь контент сайта ,а затем в соответствующем разделе списка выберите имя библиотеки.

    Примечание: Разработчики могут существенно изменить вид сайта и навигацию по нему. Если не удается найти какой-либо элемент интерфейса, например команду, кнопку или ссылку, обратитесь к администратору.

  3. На ленте в разделе Инструменты списка выберите вкладку Элементы и в группе Новые выберите пункт Новая папка.

    Примечание: Если у вас есть по крайней мере разрешения владельца или разработчика, вы можете включить папки для списка. На ленте > список Параметры > Дополнительные параметры, выберите Список. В области Сделать команду «Новая папка» доступной?выберите Да. Для этого у вас должны быть по крайней мере разрешения владельца или разработчика.

  4. В диалоговом окке Новая папка введите имя папки в поле Имя и выберите ОК.

Вместо папок можно использовать представленияSharePoint, так как они поддерживают различные способы фильтрации, группирования и сортировки контента. Если список длинный, оптимальным решением может оказаться сочетание представлений и папок. Чтобы узнать, как создавать SharePoint представлений, см. создание, изменение и удаление представления списка или библиотеки.

Если вы не знаете, какая у вас версия SharePoint, см. статью Какая у меня версия SharePoint?

Нужна дополнительная помощь?

Никто и не говорил про необходимость проверять возникновение ошибок…
Я в подобных случаях использую примерно такие конструкции:

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Workbook_Open()
    On Error Resume Next: Err.Clear
    Путь = "C:Tempимя папки"
    If Len(Dir(Путь)) = 0 And True Or Day(Date) = 28 Then MkDir (Путь)
    If Err Then MsgBox "Не удалось создать папку", vbCritical: Exit Sub
    ThisWorkbook.SaveAs Путь & ИмяФайла
    If Err Then MsgBox "Не удалось сохранить файл!", vbCritical: Exit Sub
    ' и т.д.
End Sub

В любом случае, всех возможных ошибок не предусмотришь…

А вообще повторюсь (в какой-то соседней теме уже поднимался вопрос обработки ошибок), ошибку, если есть такая возможность, лучше избегать, это пишут во всех книгах и это говорят все мои знакомые гуру. Ничего страшного в паре «лишних» строк кода нету!

Ладно, если было бы достаточно пары строк…
В случаях, когда любое из последовательных действий может вызвать ошибку, я сам использую подобные конструкции (например, в цикле открываем файл excel, в нем ищем определённый лист, на нём — некую таблицу, и т.д.)

В данном же случае, ИМХО, вполне достаточно и On Error Resume Next

А начинающим даже полезно.

Не спорю, полезно.
Но, если человеку нужен ОДИН работающий макрос, и он в будущем не намерен углубляться в дебри программирования, — его вполне устроит и «урезанный» вариант макроса.

Зачем пытаться предусмотреть все ошибки, не зная, на каких данных и оборудовании будет работать этот макрос?
Бывает, я пишу на форум макросы из 2 строк: первая — это On Error Resume Next, вторая — длинная строка типа этого:

Visual Basic
1
MsgBox ActiveSheet.UsedRange.Find("текст").Next.Resize(3).Find("текст2").EntireRow.Cells(1)

Для своих нужд, я, конечно, такое бы не написал, но просящих помощи форумчан такие варианты более чем устраивают.

В этом учебном материале вы узнаете, как использовать Excel оператор MKDIR с синтаксисом и примерами.

Описание

Оператор MKDIR позволяет создать новую папку или каталог.
Функция MKDIR — это встроенная в Excel функция, которая относится к категории функций файлов/каталогов. Её можно использовать как функцию VBA в Excel.
В качестве функции VBA вы можете использовать эту функцию в коде макроса, который вводится через редактор Microsoft Visual Basic Editor.

Синтаксис

Синтаксис оператора MKDIR в Microsoft Excel:

MkDir path

Аргументы или параметры

path
Папка или каталог для создания.

Возвращаемое значение

Оператор MKDIR не возвращает значение, а скорее создает новую папку или каталог.
Если путь представляет собой сложную структуру каталогов, каталоги высокого уровня должны уже существовать, иначе оператор MKDIR вызовет ошибку, например, если вы выполнили следующий код:

Каталог c:Test уже должен существовать. Оператор MKDIR будет пытаться создать каталог Excel только в каталоге c:Test. Сам каталог c:Test не будет создан.

Применение

  • Excel для Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 для Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

Тип функции

  • Функция VBA

Пример (как оператор VBA)

Оператор MKDIR может использоваться только в коде VBA в Microsoft Excel.
Давайте взглянем на некоторые примеры функций оператора MKDIR, чтобы понять, как использовать оператор MKDIR в коде Excel VBA:

MkDir «c:ExcelExamples»

В этом примере оператор MKDIR создал новый каталог с именем Examples в каталоге c:Excel, например:

MkDir «c:ExcelExamplesFiles»

В этом примере каталог с именем Files будет создан в каталоге c:ExcelExamples.

Часто задаваемые вопросы

Вопрос: Я не уверен, существует ли уже конкретный каталог.
Если он не существует, я бы хотел создать его с помощью кода VBA. Как я могу это сделать?

Ответ: Вы можете проверить, существует ли каталог, используя приведенный ниже код VBA:

If Len(Dir(«c:TESTExcelExamples», vbDirectory)) = 0 Then

   MkDir «c:TESTExcelExamples»

End If

В этом примере код сначала проверяет, существует ли каталог c:TESTExcelExamples.
Если он не существует, оператор MKDIR создаст новый каталог с именем Examples в каталоге c:TESTExcel.

I have a pull down menu of companies that is populated by a list on another sheet. Three columns, Company, Job #, and Part Number.

When a job is created I need a folder for said company and a sub-folder for said Part Number.

If you go down the path it would look like:

C:ImagesCompany NamePart Number

If either company name or Part number exists don’t create, or overwrite the old one. Just go to next step. So if both folders exist nothing happens, if one or both don’t exist create as required.

Another question is there a way to make it so it works on Macs and PCs the same?

Martijn Pieters's user avatar

asked May 29, 2012 at 17:23

Matt Ridge's user avatar

16

Another simple version working on PC:

Sub CreateDir(strPath As String)
    Dim elm As Variant
    Dim strCheckPath As String

    strCheckPath = ""
    For Each elm In Split(strPath, "")
        strCheckPath = strCheckPath & elm & ""
        If Len(Dir(strCheckPath, vbDirectory)) = 0 Then MkDir strCheckPath
    Next
End Sub

answered Nov 12, 2015 at 12:23

Martin's user avatar

MartinMartin

6815 silver badges4 bronze badges

5

One sub and two functions. The sub builds your path and use the functions to check if the path exists and create if not. If the full path exists already, it will just pass on by.
This will work on PC, but you will have to check what needs to be modified to work on Mac as well.

'requires reference to Microsoft Scripting Runtime
Sub MakeFolder()

Dim strComp As String, strPart As String, strPath As String

strComp = Range("A1") ' assumes company name in A1
strPart = CleanName(Range("C1")) ' assumes part in C1
strPath = "C:Images"

If Not FolderExists(strPath & strComp) Then 
'company doesn't exist, so create full path
    FolderCreate strPath & strComp & "" & strPart
Else
'company does exist, but does part folder
    If Not FolderExists(strPath & strComp & "" & strPart) Then
        FolderCreate strPath & strComp & "" & strPart
    End If
End If

End Sub

Function FolderCreate(ByVal path As String) As Boolean

FolderCreate = True
Dim fso As New FileSystemObject

If Functions.FolderExists(path) Then
    Exit Function
Else
    On Error GoTo DeadInTheWater
    fso.CreateFolder path ' could there be any error with this, like if the path is really screwed up?
    Exit Function
End If

DeadInTheWater:
    MsgBox "A folder could not be created for the following path: " & path & ". Check the path name and try again."
    FolderCreate = False
    Exit Function

End Function

Function FolderExists(ByVal path As String) As Boolean

FolderExists = False
Dim fso As New FileSystemObject

If fso.FolderExists(path) Then FolderExists = True

End Function

Function CleanName(strName as String) as String
'will clean part # name so it can be made into valid folder name
'may need to add more lines to get rid of other characters

    CleanName = Replace(strName, "/","")
    CleanName = Replace(CleanName, "*","")
    etc...

End Function

answered May 29, 2012 at 18:43

Scott Holtzman's user avatar

Scott HoltzmanScott Holtzman

27k5 gold badges36 silver badges72 bronze badges

16

I found a much better way of doing the same, less code, much more efficient. Note that the «»»» is to quote the path in case it contains blanks in a folder name. Command line mkdir creates any intermediary folder if necessary to make the whole path exist.

If Dir(YourPath, vbDirectory) = "" Then
    Shell ("cmd /c mkdir """ & YourPath & """")
End If

answered Nov 14, 2014 at 16:42

Leandro Jacques's user avatar

4

Private Sub CommandButton1_Click()
    Dim fso As Object
    Dim fldrname As String
    Dim fldrpath As String

    Set fso = CreateObject("scripting.filesystemobject")
    fldrname = Format(Now(), "dd-mm-yyyy")
    fldrpath = "C:Temp" & fldrname
    If Not fso.FolderExists(fldrpath) Then
        fso.createfolder (fldrpath)
    End If
End Sub

ZygD's user avatar

ZygD

21k39 gold badges77 silver badges98 bronze badges

answered Mar 13, 2014 at 18:50

Chandan Kumar's user avatar

1

There are some good answers on here, so I will just add some process improvements. A better way of determining if the folder exists (does not use FileSystemObjects, which not all computers are allowed to use):

Function FolderExists(FolderPath As String) As Boolean
     FolderExists = True
     On Error Resume Next
     ChDir FolderPath
     If Err <> 0 Then FolderExists = False
     On Error GoTo 0
End Function

Likewise,

Function FileExists(FileName As String) As Boolean
     If Dir(FileName) <> "" Then FileExists = True Else FileExists = False
EndFunction

answered Aug 17, 2016 at 15:26

SandPiper's user avatar

SandPiperSandPiper

2,7765 gold badges32 silver badges49 bronze badges

Function MkDir(ByVal strDir As String)
    Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists(strDir) Then
        ' create parent folder if not exist (recursive)
        MkDir (fso.GetParentFolderName(strDir))
        ' doesn't exist, so create the folder
        fso.CreateFolder strDir
    End If
End Function

ZygD's user avatar

ZygD

21k39 gold badges77 silver badges98 bronze badges

answered Oct 23, 2019 at 7:27

Zoynels's user avatar

ZoynelsZoynels

211 silver badge2 bronze badges

3

This works like a charm in AutoCad VBA and I grabbed it from an excel forum. I don’t know why you all make it so complicated?

FREQUENTLY ASKED QUESTIONS

Question: I’m not sure if a particular directory exists already. If it doesn’t exist, I’d like to create it using VBA code. How can I do this?

Answer: You can test to see if a directory exists using the VBA code below:

(Quotes below are omitted to avoid confusion of programming code)


If Len(Dir("c:TOTNExcelExamples", vbDirectory)) = 0 Then

   MkDir "c:TOTNExcelExamples"

End If

http://www.techonthenet.com/excel/formulas/mkdir.php

Community's user avatar

answered Jan 15, 2015 at 4:13

Brett's user avatar

BrettBrett

271 bronze badge

1

For those looking for a cross-platform way that works on both Windows and Mac, the following works:

Sub CreateDir(strPath As String)
    Dim elm As Variant
    Dim strCheckPath As String

    strCheckPath = ""
    For Each elm In Split(strPath, Application.PathSeparator)
        strCheckPath = strCheckPath & elm & Application.PathSeparator
        If (Len(strCheckPath) > 1 And Not FolderExists(strCheckPath)) Then
            MkDir strCheckPath
        End If
    Next
End Sub

Function FolderExists(FolderPath As String) As Boolean
     FolderExists = True
     On Error Resume Next
     ChDir FolderPath
     If Err <> 0 Then FolderExists = False
     On Error GoTo 0
End Function

answered May 29, 2020 at 8:22

mindgutter's user avatar

Never tried with non Windows systems, but here’s the one I have in my library, pretty easy to use. No special library reference required.

Function CreateFolder(ByVal sPath As String) As Boolean
'by Patrick Honorez - www.idevlop.com
'create full sPath at once, if required
'returns False if folder does not exist and could NOT be created, True otherwise
'sample usage: If CreateFolder("C:tototesttest") Then debug.print "OK"
'updated 20130422 to handle UNC paths correctly ("\MyServerMyShareMyFolder")

    Dim fs As Object 
    Dim FolderArray
    Dim Folder As String, i As Integer, sShare As String

    If Right(sPath, 1) = "" Then sPath = Left(sPath, Len(sPath) - 1)
    Set fs = CreateObject("Scripting.FileSystemObject")
    'UNC path ? change 3 "" into 3 "@"
    If sPath Like "\**" Then
        sPath = Replace(sPath, "", "@", 1, 3)
    End If
    'now split
    FolderArray = Split(sPath, "")
    'then set back the @ into  in item 0 of array
    FolderArray(0) = Replace(FolderArray(0), "@", "", 1, 3)
    On Error GoTo hell
    'start from root to end, creating what needs to be
    For i = 0 To UBound(FolderArray) Step 1
        Folder = Folder & FolderArray(i) & ""
        If Not fs.FolderExists(Folder) Then
            fs.CreateFolder (Folder)
        End If
    Next
    CreateFolder = True
hell:
End Function

answered Nov 14, 2014 at 16:56

iDevlop's user avatar

iDevlopiDevlop

24.6k11 gold badges89 silver badges147 bronze badges

Here’s short sub without error handling that creates subdirectories:

Public Function CreateSubDirs(ByVal vstrPath As String)
   Dim marrPath() As String
   Dim mint As Integer

   marrPath = Split(vstrPath, "")
   vstrPath = marrPath(0) & ""

   For mint = 1 To UBound(marrPath) 'walk down directory tree until not exists
      If (Dir(vstrPath, vbDirectory) = "") Then Exit For
      vstrPath = vstrPath & marrPath(mint) & ""
   Next mint

   MkDir vstrPath

   For mint = mint To UBound(marrPath) 'create directories
      vstrPath = vstrPath & marrPath(mint) & ""
      MkDir vstrPath
   Next mint
End Function

Marcus Mangelsdorf's user avatar

answered Mar 19, 2014 at 14:17

alexkovelsky's user avatar

alexkovelskyalexkovelsky

3,7911 gold badge27 silver badges21 bronze badges

I know this has been answered and there were many good answers already, but for people who come here and look for a solution I could post what I have settled with eventually.

The following code handles both paths to a drive (like «C:Users…») and to a server address (style: «ServerPath..»), it takes a path as an argument and automatically strips any file names from it (use «» at the end if it’s already a directory path) and it returns false if for whatever reason the folder could not be created. Oh yes, it also creates sub-sub-sub-directories, if this was requested.

Public Function CreatePathTo(path As String) As Boolean

Dim sect() As String    ' path sections
Dim reserve As Integer  ' number of path sections that should be left untouched
Dim cPath As String     ' temp path
Dim pos As Integer      ' position in path
Dim lastDir As Integer  ' the last valid path length
Dim i As Integer        ' loop var

' unless it all works fine, assume it didn't work:
CreatePathTo = False

' trim any file name and the trailing path separator at the end:
path = Left(path, InStrRev(path, Application.PathSeparator) - 1)

' split the path into directory names
sect = Split(path, "")

' what kind of path is it?
If (UBound(sect) < 2) Then ' illegal path
    Exit Function
ElseIf (InStr(sect(0), ":") = 2) Then
    reserve = 0 ' only drive name is reserved
ElseIf (sect(0) = vbNullString) And (sect(1) = vbNullString) Then
    reserve = 2 ' server-path - reserve "\Server"
Else ' unknown type
    Exit Function
End If

' check backwards from where the path is missing:
lastDir = -1
For pos = UBound(sect) To reserve Step -1

    ' build the path:
    cPath = vbNullString
    For i = 0 To pos
        cPath = cPath & sect(i) & Application.PathSeparator
    Next ' i

    ' check if this path exists:
    If (Dir(cPath, vbDirectory) <> vbNullString) Then
        lastDir = pos
        Exit For
    End If

Next ' pos

' create subdirectories from that point onwards:
On Error GoTo Error01
For pos = lastDir + 1 To UBound(sect)

    ' build the path:
    cPath = vbNullString
    For i = 0 To pos
        cPath = cPath & sect(i) & Application.PathSeparator
    Next ' i

    ' create the directory:
    MkDir cPath

Next ' pos

CreatePathTo = True
Exit Function

Error01:

End Function

I hope someone may find this useful. Enjoy! :-)

answered Sep 15, 2017 at 14:15

Sascha L.'s user avatar

Sascha L.Sascha L.

3472 silver badges6 bronze badges

This is a recursive version that works with letter drives as well as UNC. I used the error catching to implement it but if anyone can do one without, I would be interested to see it. This approach works from the branches to the root so it will be somewhat usable when you don’t have permissions in the root and lower parts of the directory tree.

' Reverse create directory path. This will create the directory tree from the top    down to the root.
' Useful when working on network drives where you may not have access to the directories close to the root
Sub RevCreateDir(strCheckPath As String)
    On Error GoTo goUpOneDir:
    If Len(Dir(strCheckPath, vbDirectory)) = 0 And Len(strCheckPath) > 2 Then
        MkDir strCheckPath
    End If
    Exit Sub
' Only go up the tree if error code Path not found (76).
goUpOneDir:
    If Err.Number = 76 Then
        Call RevCreateDir(Left(strCheckPath, InStrRev(strCheckPath, "") - 1))
        Call RevCreateDir(strCheckPath)
    End If
End Sub

answered Sep 19, 2019 at 2:33

Rubber Toe's user avatar

1

Sub FolderCreate()
    MkDir "C:Test"
End Sub

Bouke's user avatar

Bouke

1,5061 gold badge12 silver badges21 bronze badges

answered May 15, 2022 at 12:51

Tarun Singh's user avatar

1

Sub MakeAllPath(ByVal PS$)
    Dim PP$
    If PS <> "" Then
        ' chop any end  name
        PP = Left(PS, InStrRev(PS, "") - 1)
        ' if not there so build it
        If Dir(PP, vbDirectory) = "" Then
            MakeAllPath Left(PP, InStrRev(PS, "") - 1)
            ' if not back to drive then  build on what is there
            If Right(PP, 1) <> ":" Then MkDir PP
        End If
    End If
End Sub


'Martins loop version above is better than MY recursive version
'so improve to below

Sub MakeAllDir(PathS$)            

  ' format "K:firstfoldsecffold3"

  If Dir(PathS) = vbNullString Then     

 ' else do not bother

   Dim LI&, MYPath$, BuildPath$, PathStrArray$()

   PathStrArray = Split(PathS, "")

      BuildPath = PathStrArray(0) & ""    '

      If Dir(BuildPath) = vbNullString Then 

' trap problem of no drive :  path given

         If vbYes = MsgBox(PathStrArray(0) & "< not there for >" & PathS & " try to append to " & CurDir, vbYesNo) Then
            BuildPath = CurDir & ""
         Else
            Exit Sub
         End If
      End If
      '
      ' loop through required folders
      '
      For LI = 1 To UBound(PathStrArray)
         BuildPath = BuildPath & PathStrArray(LI) & ""
         If Dir(BuildPath, vbDirectory) = vbNullString Then MkDir BuildPath
      Next LI
   End If 

 ' was already there

End Sub

' use like
'MakeAllDir "K:biljoanJohno"

'MakeAllDir "K:biljoanFredso"

'MakeAllDir "K:biltomwattom"

'MakeAllDir "K:bilherbwatherb"

'MakeAllDir "K:bilherbJim"

'MakeAllDir "biljoanwat" ' default drive

ZygD's user avatar

ZygD

21k39 gold badges77 silver badges98 bronze badges

answered Apr 2, 2017 at 20:38

Harry S's user avatar

Harry SHarry S

4616 silver badges5 bronze badges

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel команда с новой строки
  • Excel команда впр пример
  • Excel команда пустая ячейка
  • Excel коляска инвалидная производитель
  • Excel команда переноса строки

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии