Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос для создания папки по тексту ячейки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для создания папки по тексту ячейки (Макросы/Sub)
Макрос для создания папки по тексту ячейки
Speller2008 Дата: Понедельник, 11.07.2016, 15:45 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Доброго времени суток!
Собственно, есть макрос, который формирует вордовские файлы по тексту, который указан в соответственных ячейках (в данном случае, B, C) и помещает их все (файлы) в одну папку с определенным названием, указанным в ячейке обрабатываемой строки (в данном случае, колонка А). Задача же стоит, чтоб после сформирования файла он размещался в отдельной папке с названием, которое также будет указано в ячейке обрабатываемой строки.
Приложил к теме пример, в котором все будет понятно.

Я пробовал мудрить что-то с кодом в районе
[vba]
Код
Function NewFolderName() As String
NewFolderName = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "Договоры, сформированные " & Get_Now)
MkDir NewFolderName
End Function
[/vba]

Но ничего толкового с этого не получилось: или выбрасывает ошибку с доступом к файлу/директории, или же вообще ничего не создает, либо создает просто пустую папку, но файла в нее никакого не размещает.

Помогите, пожалуйста, если кто знает как, буду крайне благодарен.
[moder]Код следует оформлять тегами (кнопка #)[/moder]
К сообщению приложен файл: 1766993.zip(40Kb)


Сообщение отредактировал Pelena - Понедельник, 11.07.2016, 21:32
 
Ответить
СообщениеДоброго времени суток!
Собственно, есть макрос, который формирует вордовские файлы по тексту, который указан в соответственных ячейках (в данном случае, B, C) и помещает их все (файлы) в одну папку с определенным названием, указанным в ячейке обрабатываемой строки (в данном случае, колонка А). Задача же стоит, чтоб после сформирования файла он размещался в отдельной папке с названием, которое также будет указано в ячейке обрабатываемой строки.
Приложил к теме пример, в котором все будет понятно.

Я пробовал мудрить что-то с кодом в районе
[vba]
Код
Function NewFolderName() As String
NewFolderName = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "Договоры, сформированные " & Get_Now)
MkDir NewFolderName
End Function
[/vba]

Но ничего толкового с этого не получилось: или выбрасывает ошибку с доступом к файлу/директории, или же вообще ничего не создает, либо создает просто пустую папку, но файла в нее никакого не размещает.

Помогите, пожалуйста, если кто знает как, буду крайне благодарен.
[moder]Код следует оформлять тегами (кнопка #)[/moder]

Автор - Speller2008
Дата добавления - 11.07.2016 в 15:45
Roman777 Дата: Вторник, 12.07.2016, 10:00 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 703
Репутация: 75 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Speller2008, MkDir создаёт папку внутри уже существующего каталога. Тоесть если Вы будете создавать внутри папки "1" папку "2", но папки 1 у Вас не существует, будет ошибка. Поэтому, когда Вы используете данную функцию, Вам необходимо будет создать сначало все предыдущие несуществующие папки.
Как Вариант (без особых вниканий в код, я просто добавил Вам ещё 1 ф-ю, наподобие Вашей:
[vba]
Код
Function NewFolderName1(ByVal НоваяПапка As String, ByVal ФИО As String) As String
    NewFolderName1 = НоваяПапка & ФИО & "\"
    MkDir NewFolderName1
End Function
[/vba]
К сообщению приложен файл: 9161054.xlsm(36Kb)


Много чего не знаю!!!!
 
Ответить
СообщениеSpeller2008, MkDir создаёт папку внутри уже существующего каталога. Тоесть если Вы будете создавать внутри папки "1" папку "2", но папки 1 у Вас не существует, будет ошибка. Поэтому, когда Вы используете данную функцию, Вам необходимо будет создать сначало все предыдущие несуществующие папки.
Как Вариант (без особых вниканий в код, я просто добавил Вам ещё 1 ф-ю, наподобие Вашей:
[vba]
Код
Function NewFolderName1(ByVal НоваяПапка As String, ByVal ФИО As String) As String
    NewFolderName1 = НоваяПапка & ФИО & "\"
    MkDir NewFolderName1
End Function
[/vba]

Автор - Roman777
Дата добавления - 12.07.2016 в 10:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для создания папки по тексту ячейки (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!