#google-apps-script #google-sheets
#google-приложения-скрипт #google-sheets
Вопрос:
Я хотел бы иметь возможность сохранять только активный лист в формате PDF при нажатии кнопки сохранить pdf. В настоящее время мой код сохраняет все листы. Как мне отредактировать этот код?
function onOpen() {
var submenu = [{name:"Save PDF", functionName:"saveAsPDF"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu('Save as PDF', submenu);
}
function saveAsPDF() {
const folderName = `social`;
const fileNamePrefix = SpreadsheetApp.getActiveSheet().getRange('a1').getValue();
const PhasePrefix = SpreadsheetApp.getActiveSheet().getRange('a2').getValue();
var actualSheetName = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
DriveApp.getFoldersByName(folderName)
.next()
.createFile(SpreadsheetApp.getActiveSpreadsheet()
.getBlob()
.getAs(`application/pdf`)
.setName(`${fileNamePrefix} - ${PhasePrefix} - ${Utilities.formatDate(new Date(), `GMT-8`, `yyyy-MM-dd`)}`));
var ui = SpreadsheetApp.getUi()
ui.alert('New PDF file created in ' folderName )
}
Ответ №1:
во-первых, будьте осторожны, поскольку опция сохранения в формате pdf исчезнет в декабре. Я не уверен, повлияет ли это на функцию скрипта, но вы получите предупреждение при попытке сделать это вручную. стоит проверить … (не проверено)
сохранить как pdf переходит в папку и сохраняет файл. если вы уже находитесь в файле, вы просто хотите сохранить один лист, вам, вероятно, не нужно идти и захватывать весь файл.
Я собирался написать это, но я думаю, что эта ссылка сделает то, что вы хотите лучше всего. https://xfanatical.com/blog/print-google-sheet-as-pdf-using-apps-script /
Прокрутите вниз до раздела исходного кода. Вы ищете эту функцию ‘exportCurrentSheetAsPDF’
function exportCurrentSheetAsPDF() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
var currentSheet = SpreadsheetApp.getActiveSheet()
var blob = _getAsBlob(spreadsheet.getUrl(), currentSheet)
_exportBlob(blob, currentSheet.getName(), spreadsheet)
}
Это простая выдержка. Я призываю вас перейти, чтобы дать им клики, и там есть много других полезных вещей. Я думаю, что это, вероятно, больше, чем вы хотели, но, возможно, вы не знали, что хотите…
Комментарии:
1. Здравствуйте, где вы прочитали, что «сохранить как pdf» устарело?
2. Я оговорился. Я имел в виду сохранить на Google Диске (в формате PDF). извините за путаницу.