У Лиссы есть рабочая тетрадь, содержащая несколько листов. Она хотела бы создать отдельные PDF-файлы для этих листов (по одному PDF-файлу на лист)

с именем PDF-файла на основе имени рабочего листа. Она задается вопросом, есть ли способ сделать это в Excel.

Есть способы сделать это, в зависимости от того, сколько времени вы хотите провести.

Если это «одноразовый» случай, вы можете просто распечатать каждый отдельный рабочий лист вручную. Или вы можете скопировать каждый рабочий лист в отдельную книгу, а затем распечатать каждую книгу в PDF.

Однако это довольно интенсивно вручную. (Вот почему я сказал, что они могут быть хороши только для «разовых» случаев.) Если вы хотите что-то более автоматическое, вы захотите использовать макрос для создания файлов PDF. Вот пример короткого макроса, который сделает за вас создание PDF:

Sub CreatePDFs()

Dim wks As Worksheet     Dim sFolder As String     Dim sTemp As String

sFolder = ActiveWorkbook.Path & "\"



sTemp = "Created PDFs for the following worksheets"

For Each wks In ActiveWorkbook.Worksheets         If wks.Visible = xlSheetVisible Then             sTemp = sTemp & vbCrLf & "   * " & wks.Name             wks.ExportAsFixedFormat Type:=xlTypePDF, _               Filename:=sFolder & wks.Name & ".pdf", _               OpenAfterPublish:=False         End If     Next

MsgBox sTemp End Sub

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

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

Этот совет (13570) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.