Страницы: 1
RSS
Сохранение книги в отдельные pdf + нюансы, Сохранение книги в отдельные pdf
 
Добрый день!
Помогите, пожалуйста, новичку.
На этом сайте нашёл код, позволяющий сохранять книгу с несколькими листами в отдельные pdf. Этот код работает только в рамках текущей книги, при сохранении его в личную книгу макросов и открытии необходимой книги - не работает. Что нужно дописать, чтобы макрос работал в любом открываемом файле и файлы pdf сохранялись в то же место, где находится исходный файл Эксель? Также, при сохранении в PDF в названии файла присутствует ".xls", т.е. при имени файла "Работа.xls", имени листа "Задание" получается файл "работа.xlsзадание.pdf" . Как можно убрать ".xls" из названия полученного файла pdf?

Код
Sub SplitSheets5()    
Dim s As Worksheet     
For Each s In ActiveWorkbook.Worksheets        
s.ExportAsFixedFormat Filename:=ThisWorkbook.Path & "\" & ThisWorkbook.Name & s.Name & ".pdf", Type:=xlTypePDF    
Next
End Sub

Заранее СПАСИБО!
Изменено: Rockman - 08.04.2020 16:14:15
 
Добрый день! Можно так:
Код
Option Explicit

Sub SplitSheets5m()
    Dim s As Worksheet, v, i As Long
    v = ActiveWorkbook.FullName
    i = InStrRev(v, ".")
    If i > 0 Then
        v = Left(v, i)
    End If
   
    For Each s In ActiveWorkbook.Worksheets
        s.ExportAsFixedFormat Filename:=v & s.Name, Type:=xlTypePDF
    Next s
End Sub
Пожалуйста, вернитесь к сообщению #1 и оформите код макроса с помощью кнопки <...>

Для модераторов название темы: Сохранение листов книги в формате pdf с отражением в имени файла имен исходной книги и листа
Изменено: sokol92 - 08.04.2020 16:05:42
Владимир
 
Цитата
Спасибо. Удалили xls, но точка осталась. С точкой можно что-то сделать? Типа, исключить из названия будущего файла знаки ".xls", ".xlsx"
Изменено: Rockman - 08.04.2020 16:51:15
 
Если нужно без точки, то замените строку 8 на
Код
 v = Left(v, i-1)

Уберите, пожалуйста, излишнюю цитату из предыдущего сообщения - модераторы тут очень строгие :)  
Изменено: sokol92 - 08.04.2020 16:32:32
Владимир
 
Большое спасибо, всё работает!
 
Успехов!
Владимир
Страницы: 1
Наверх