2016-09-21 5 views
0

Вот код, я работаю с:Как я могу экспортировать один лист Excel в файл PDF с помощью Applescript?

saveExcelasPDF("Users:Seth:Documents:OneDrive:Process:12648 0920 Volvo of the Triad 128.xlsx", "Users:Seth:Desktop:test.pdf") 

    on saveExcelasPDF(documentPath, PDFName) 
     set tFile to (POSIX path of documentPath) as POSIX file 
     tell application "/Applications/Microsoft Excel.app" 
      set isRun to running 
      set wkbk1 to open workbook workbook file name documentPath 
      activate object worksheet "Invoice" of wkbk1 
      set mySheet to sheet "Invoice" of wkbk1 
      alias PDFName -- Necessary to avoid Excel Sandboxing 
      save mySheet in PDFName as PDF file format 
      close wkbk1 saving no 
      if not isRun then quit 
     end tell 
    end saveExcelasPDF 

Прямо сейчас, он сохраняет каждый лист в нужной книги в файл PDF, так что я в конечном итоге с PDF с около 60 страниц ..

Как сохранить только лист «Счет» в файл PDF?

Спасибо!

ответ

0

Это ошибка с PDF file format.

Команда save работает правильно, если в качестве примера используется формат CSV file format.

Работа вокруг: Скопируйте лист в новую книгу.

on saveExcelasPDF(documentPath, PDFName) 
    set tFile to (POSIX path of documentPath) as POSIX file 
    tell application "/Applications/Microsoft Excel.app" 
     set isRun to running 
     set wkbk1 to open workbook workbook file name documentPath 
     set newWBK to make new workbook 
     copy worksheet (sheet "Invoice" of wkbk1) before sheet 1 of newWBK 
     close wkbk1 saving no 
     alias PDFName -- Necessary to avoid Excel Sandboxing 
     save (sheet 1 of newWBK) in PDFName as PDF file format 
     close newWBK saving no 
     if not isRun then quit 
    end tell 
end saveExcelasPDF