Excel: Как вы выбираете ВСЕ листы в массиве? [Дубликат]

Я отвечу ужасным, нарисованным рукой комиком. Второе изображение является причиной того, что result является undefined в вашем примере кода.

19
задан pnuts 17 February 2015 в 15:53
поделиться

4 ответа

Начните с выбора листов, которые вы хотите объединить:

ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\tempo.pdf", Quality:= xlQualityStandard, IncludeDocProperties:=True, _
     IgnorePrintAreas:=False, OpenAfterPublish:=True
56
ответ дан Tim Williams 31 August 2018 в 16:26
поделиться

Я рекомендую добавить следующую строку после экспорта в PDF:

ThisWorkbook.Sheets("Sheet1").Select

(где, например, Sheet1 - это единственный лист, который вы хотите активировать впоследствии)

Если оставить несколько листов в выбранном состоянии, могут возникнуть проблемы с выполнением некоторого кода. (например, unprotect не работает должным образом при активном выборе нескольких листов.)

3
ответ дан AnotherParker 31 August 2018 в 16:26
поделиться

В Excel 2013 просто выберите несколько листов и выполните «Сохранить как» и выберите PDF в качестве типа файла. Несколько страниц откроются в PDF, когда вы нажмете «Сохранить».

-3
ответ дан Pam S. 31 August 2018 в 16:26
поделиться

Как и ответ Тима, но с проверкой на 2007 год (где экспорт по умолчанию не установлен по умолчанию):

Public Sub subCreatePDF()

    If Not IsPDFLibraryInstalled Then
        'Better show this as a userform with a proper link:
        MsgBox "Please install the Addin to export to PDF. You can find it at http://www.microsoft.com/downloads/details.aspx?familyid=4d951911-3e7e-4ae6-b059-a2e79ed87041". 
        Exit Sub
    End If

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ActiveWorkbook.Path & Application.PathSeparator & _
        ActiveSheet.Name & " für " & Range("SelectedName").Value & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub

Private Function IsPDFLibraryInstalled() As Boolean
'Credits go to Ron DeBruin (http://www.rondebruin.nl/pdf.htm)
    IsPDFLibraryInstalled = _
        (Dir(Environ("commonprogramfiles") & _
        "\Microsoft Shared\OFFICE" & _
        Format(Val(Application.Version), "00") & _
        "\EXP_PDF.DLL") <> "")
End Function
6
ответ дан Peter Albert 31 August 2018 в 16:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: