2016-04-03 10 views
0

Хотя этот вопрос уже задан, я не нашел для него реального ответа. Мне нужно программно выбирать рабочие листы в книге и сохранять их в PDF-файле БЕЗ создания временной книги и копирования выбранных листов в нее.Excel: сохранение выбранных рабочих листов в файл PDF

Альтернативно, как создать книгу без ее отображения - то есть в памяти, а затем на HD? Это опять-таки может помочь решить первый вопрос ...

ответ

0

Попробуйте это:

Sub SaveToPdf() 

Dim ws As Worksheet 

Dim sfName As String 

For Each ws In Worksheets 

sfName = ws.Name 
sfName = "C:\Misc\" & sfName & ".pdf" 

     ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
     sfName, Quality:= _ 
     xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ 
     OpenAfterPublish:=False 

Next ws 


End Sub 

Вы должны были бы убедиться, что ваша область печати на каждый листе были установлены первым я думаю

+0

Я не Это все работает - на самом деле я уверен, что это не так - как он знает, что напечатал рабочий лист SELECTED в книге? Этот код печатает рабочий лист как отдельный PDF, и это не мой вопрос. Может быть, вы должны прочитать его снова ... –

+0

Код работает для сохранения ВСЕХ рабочих листов в виде отдельных файлов PDF. Вы хотите сохранить несколько листов в одном PDF-файле? Или вы ищете способ динамически выбирать один рабочий лист для сохранения в pdf? Если вы всегда хотите сохранить тот же рабочий лист (ы), вы можете добавить в код инструкцию «if», чтобы проверить, совпадает ли имя с тем, которое вы хотите. – ShirleyM

Смежные вопросы