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