Страницы: Пред. 1 2
RSS
Макрос по созданию папки с именем ячейки
 
     Не увидел тут пары моментов: при создании/проверке папки по пути длиннее ~250 (не помню точно) символов есть нюансы, а также в имени папки/пути не допускается целый ряд символов.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
недопустимые символы в пути файла
ограничение максимальной длины пути
 
Всем большое спасибо.
Воспользовался вариантом который предложил artemkau88, #29 14.07.2023 17:55:33
Для меня оказался наиболее понятным и простым вариантом, спасибо
 
Здравствуйте, как сделать уточнее по книгам?

On Error Resume Next
   For Each oCell In Range([BA5], [A65536].End(xlUp))
   If Not IsEmpty(oCell) Then MkDir "C:\Users\I_YES\Desktop\" & oCell
Next
Изменено: I_YES_GRUT - 21.04.2024 12:48:44
 
Цитата
I_YES_GRUT написал:
как сделать уточнее по книгам?
Что Вы имеете ввиду?
Не стесняйтесь - чем подробнее опишите задачу, тем быстрее и точнее получите решение
Согласие есть продукт при полном непротивлении сторон
 
Я хочу сделать что бы у меня лист переводился в пдф, но перед этим создавал папку в указанном пути и с указанным названием в ячейке. Но итог таков что все получилось но почему он создает много лишних папок....  По этому подумал что надо как то привязаться к книге но не как не получается....
Изменено: I_YES_GRUT - 21.04.2024 13:07:39
 
Так?
Код
Sub ПДФ()
Dim iNm$
Application.ScreenUpdating = False
On Error Resume Next
With Worksheets("Протокол_неразр_28")
  iNm = .Range("BA5").Value
  MkDir "C:\Users\I_YES\Desktop\" & iNm
  .ExportAsFixedFormat Type:=xlTypePDF, _
      Filename:="C:\Users\I_YES\Desktop\" & iNm & "\" & iNm & ".pdf", _
      OpenAfterPublish:=False
End With
Application.ScreenUpdating = True
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sub ПДФ()
   Dim iNm, aNm
Application.ScreenUpdating = False
On Error Resume Next
With Worksheets("Протокол_неразр_28")
 aNm = .Range("BA6").Value
 iNm = .Range("BA5").Value
 MkDir "C:\Users\I_YES\Desktop\" & aNm & "\" & iNm
 .ExportAsFixedFormat Type:=xlTypePDF, _
     Filename:="C:\Users\I_YES\Desktop\" & aNm & "\" & iNm & "\" & iNm & ".pdf", _
     OpenAfterPublish:=False
End With
Application.ScreenUpdating = True
   
End Sub


Спасибо большое за помощь....
 
Добрый день!
На просторах интернета нашел макрос по созданию папки с именем указанном в ячейке А1 (имя переменное, место где сохраняется новая папка постоянное). Все работает отлично, но только на моем компьютере. Макрос работает по нажатию кнопки "Создать папку для картинок". На других машинах выдает ошибку (Run-time error '76': Path not found) и выделяет желтым 6-ю строку кода MkDir (pth)). И файл и место сохранения находятся на сервере. Эксель 2019 года, версия 2108.
Код
Sub Создать_папку()
    For Each r In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
        pth = "Z:\_Клиентский отдел\Для расчёта\_Изображения\" & r
        If Dir(pth, vbDirectory) = "" Then
            MkDir (pth)
        End If
    Next
End Sub
Изменено: KRAVA - 13.09.2024 12:20:47
 
Цитата
KRAVA написал:
(фото ошибки приложил)
И где же? Что-то не вижу.
 
Цитата
написал:
И где же? Что-то не вижу.
Слишком большие фото, не смог приложить. вместо этого текстом прописал в самом сообщении.
Цитата
На других машинах выдает ошибку (Run-time error '76': Path not found) и выделяет желтым 6-ю строку кода MkDir (pth))
 
Цитата
KRAVA написал:
На других машинах выдает ошибку (Run-time error '76': Path not found)
- на других есть "Z:\_Клиентский отдел\Для расчёта\_Изображения\"?
 
Цитата
написал:
Path not found
Путь не найден. Либо у других нет доступа к этой папке, либо неправильно примонтирована сетевая папка (не диск Z, а, например, диск N)
 
Цитата
написал:
Путь не найден. Либо у других нет доступа к этой папке, либо неправильно примонтирована сетевая папка (не диск Z, а, например, диск N)
Точно! у других иначе назван. Переименую, проверю, отпишусь. Спасибо!
 
Цитата
написал:
написал:Путь не найден. Либо у других нет доступа к этой папке, либо неправильно примонтирована сетевая папка (не диск Z, а, например, диск N)Точно! у других иначе назван. Переименую, проверю, отпишусь. Спасибо!
irabel, Совершенно верно, на других компах было другой имя диска. Сделал все одинаковым - все заработало! Спасибо!
Изменено: KRAVA - 13.09.2024 22:14:23
Страницы: Пред. 1 2
Наверх