Спецификация экспорта в Excel c листов для разделения PDF-файлов - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь экспортировать специфицированные c листы для разделения pdf для работы, и по какой-то причине мой код не просматривает указанный мной массив. У кого-нибудь есть идеи?

Sub ExportToPDFs()
   
   Dim outFldr As String
   Dim ws As Worksheet
   Dim i As Variant, sheets_to_select As Variant

   outFldr = ActiveWorkbook.Path
   sheets_to_select = (Array(2, 3, 4, 5, 6, 7, 8))

   For Each i In sheets_to_select
      ThisWorkbook.Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, _
      Filename:=outFldr & "\" & i & ".pdf", _
      Quality:=xlQualityStandard, IncludeDocProperties:=True, _
      IgnorePrintAreas:=False, OpenAfterPublish:=False

   Next i

End Sub

1 Ответ

0 голосов
/ 05 августа 2020

Я изменил код, присвоив переменным имя более читабельное

, и исправил несколько вещей

  • Способ присвоения элементов массиву
  • L oop (для)

Код:

Sub ExportToPDFs()
   
   Dim outputFolderPath As String
   Dim currentWorksheet As Worksheet
   Dim counter As Long
   Dim sheetsIndexArr As Variant
   
   ' Define the folder path
   outputFolderPath = ActiveWorkbook.Path ' Check if this could be ThisWorkbook
   
   ' Define the indexes of sheets to be exported
   sheetsIndexArr = Array(2, 3, 4, 5, 6, 7, 8)
   
   For counter = LBound(sheetsIndexArr) To UBound(sheetsIndexArr)
   
      ThisWorkbook.Sheets(counter).ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=outputFolderPath & "\" & counter & ".pdf", _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=False
   
   
   Next counter

End Sub

Сообщите мне, работает ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...