2016-05-15 3 views
1

im пытается сохранить несколько листов в виде одного файла PDF.
Следующий макрос использует имена листов, но он не подходит мне, а мои листы имеют динамические имена. Старался использовать адреса Таблиц (1), но не работал. Кто-нибудь есть идеи?Сохранение нескольких листов в PDF

Sub export_to_pdf() 
    Sheets(Array("Configuration", "chart")).Copy 
    ActiveWorkbook.ExportAsFixedFormat _  
    Type:=xlTypePDF, _ 
    Filename:="filename.pdf", _  
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=False, _ 
    IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=True 
    ActiveWorkbook.Close (False) 
End Sub 
+0

https://stackoverflow.com/questions/14404650/save-multiple-sheets-to-pdf/14407986#14407986 –

ответ

3

использование

Sheets(1).ExportAsFixedFormat _ 
      Type:=xlTypePDF, _ 
      Filename:="filename.pdf", _ 
      Quality:=xlQualityStandard, _ 
      IncludeDocProperties:=False, _ 
      IgnorePrintAreas:=False, _ 
      OpenAfterPublish:=True 

или если у вас есть более

Sheets(Array(1, 2, 5)).Copy 

ActiveWorkbook.ExportAsFixedFormat _ 
       Type:=xlTypePDF, _ 
       Filename:="filename.pdf", _ 
       Quality:=xlQualityStandard, _ 
       IncludeDocProperties:=False, _ 
       IgnorePrintAreas:=False, _ 
       OpenAfterPublish:=True 

ActiveWorkbook.Close (False) 
+0

Так просто , Спасибо! – Pythonist

+0

добро пожаловать – user3598756

0

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

Sub export_to_pdf() 
    Sheets(Array("Sheet1", "Sheet2")).Copy 'Change to your sheets 
    ActiveWorkbook.ExportAsFixedFormat _ 
    Type:=xlTypePDF, _ 
    Filename:="filename.pdf", _ 
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, _ 'changed to True 
    IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=True 
    ActiveWorkbook.Close (False) 
End Sub 

В таких случаях я ставлю ссылку на Microsoft Word Object Library также в ToolsReference

+0

Как вы бы исправить этот код, чтобы использовать листы пользователя 'Selected', перед запуском Sub ?? –

+0

@ Студент Гэри. Я анализирую код на своих образцах данных и для тестирования его изменил на sheet1 и sheet2. Это работает для меня, как указано. Однако, мне жаль, что я неправильно понял требование OP. Он хочет выбрать листы с динамическими именами. Я хочу отозвать свой ответ, но я не знаю, как это делается здесь. – skkakkar

+0

** Пожалуйста, не удаляйте этот ответ ..... Я задавал только вопрос! ** Ответ может быть O.K. для Wariat ....... –

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