我使用以下代码:
set PDFName to --desired path and name of PDF file to save
set excelName to --desired path and name of Excel file to open
tell application "/Applications/Microsoft Excel.app"
set isRun to running
set wkbk1 to open workbook workbook file name excelName
--Problem
save (sheet "Invoice" of wkbk1) in PDFName as PDF file format
--/Problem
close wkbk1 saving no
if not isRun then quit
end tell
我最终将整个工作簿转换为60页长PDF,而不是仅仅一张!难道我做错了什么?我该如何解决这个问题?
答案 0 :(得分:0)
我尝试仅在新工作表中复制/粘贴值,但我失败了。粘贴特殊...没有。
相反,我提取了第一个主文档的工作表并将其复制到一个新的临时文档中,然后我将临时文档保存为PDF并关闭新的临时文档和主文档。
它适用于下面的脚本:
set PDFPath to "Users:imac27:Desktop:Test22.PDF" -- destination of the PDF
tell application "Microsoft Excel"
activate
set SourceDoc to front document
set NameWB to name of front document -- get name of the document (for close)
tell SourceDoc to set SourceSheet to active sheet -- get sheet to be extracted
set newDoc to make new workbook -- create new workbook
tell newDoc
set FirstSheet to first sheet of newDoc
copy worksheet SourceSheet after FirstSheet -- copy sheet to be extracted in new doc
end tell
set display alerts to false -- to avoid warning "are you sure...?)
delete FirstSheet -- delete defautl sheet of new doc to keep only the copied sheet
save active sheet in PDFPath as PDF file format -- save temp workbook as PDf
close active workbook saving no -- close temp workbook
close workbook NameWB saving no -- close main document
end tell