При необходимости вы можете создать каталог (папку) на диске с помощью VBA. Это делается с помощью команды MkDir и является остатком той же команды в более ранних версиях BASIC. Синтаксис:

MkDir DirName

где DirName — это полный путь к каталогу, который вы хотите создать. Если вы не используете строковую переменную для указания имени каталога, тогда DirName необходимо заключить в кавычки. Кроме того, если вы не укажете полный путь в DirName (возможно, вы укажете только простое имя, например «TempFiles» или «MyDirectory»), тогда каталог будет создан в текущем каталоге. Наконец, если вы попытаетесь создать каталог, который уже существует, VBA выдаст ошибку.

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

sTemp = "C:\Budget\2019\First Quarter"

MkDir sTemp

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

sTemp = "C:\Budget\2019"

MkDir sTemp sTemp = sTemp & "\First Quarter"

MkDir sTemp

Зачем вам создавать каталог в вашем макросе? Одна из распространенных причин — создать место, где вы можете хранить временные файлы, с которыми вы работаете, в остальной части макроса.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (8851) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Creating_a_Directory_in_a_Macro [Создание каталога в макросе].