【Apps Script】君不见长松卧壑困风霜,时来屹立扶明堂。这篇文章主要讲述Apps Script相关的知识,希望能为你提供帮助。
谁能帮我解决我的问题?需要导出一个特定的范围(A1:J39),而不是整张表。
function SavePDFtoDrive() {var ss = SpreadsheetApp.getActiveSpreadsheet();
var ltrsht = ss.getSheetByName("Schichtübergabe-Protokoll");
var datasheet = ss.getSheetByName("Daten");
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
for(var i =0;
i<
sheets.length;
i++){
if(sheets[i].getName()!="Schichtübergabe-Protokoll"){ sheets[i].hideSheet() }
}
var pdf = DriveApp.getFileById(ss.getId());
var theBlob = pdf.getBlob().getAs('application/pdf').setName(datasheet.getRange("I8").getValue()+".pdf");
var folderID = "1dyKFNvQWrSiNFA8N5PyUMPJQpWSVhsLf";
// Folder id to save in a folder
var folder = DriveApp.getFolderById(folderID);
var newFile = folder.createFile(theBlob);
}
答案答:你的答案是什么?
而不是使用
DriveApp
,你可以通过使用 UrlFetchApp
.更多信息:
当你使用
DriveApp
来创建文件的blob,但它不具备读取文件细节的功能。在这种情况下,您不能指定您希望用以下方法导出的工作表的范围。DriveApp
.然而,您可以使用所有导出参数构建一个URL,并通过创建响应的blob并在Drive中创建导出。
代码。
function SavePDFtoDrive() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ltrsht = ss.getSheetByName("Schichtübergabe-Protokoll");
var datasheet = ss.getSheetByName("Daten");
// build your URL:
var url = "https://docs.google.com/spreadsheets/d/" + ss.getId() + "/export?"
//define your parameters:
var params = 'exportFormat=pdf&
format=pdf'
+ '&
portrait=false'
+ '&
fitw=true'
+ '&
gid=' + ltrsht.getSheetId()
+ '&
range=A1:J39';
//get token for UrlFetch:
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url + params, {
'headers': {
'Authorization': 'Bearer ' + token
}
});
var fileName = datasheet.getRange("I8").getValue() + ".pdf";
var theBlob = response.getBlob().setName(fileName);
var folderID = "1Hp-P1dzWaKHhhS2FTPzKib6pwJibS12t";
var folder = DriveApp.getFolderById(folderID);
folder.createFile(theBlob);
}
我希望这对你有帮助
参考文献。
- 类
UrlFetchApp
答案
推荐阅读
- 使用Back4app-Cli部署本地解析服务器。
- 如何测试托管在Azure Appservice上的SignalR应用(负载+功能结合)()
- 安卓ListView在行末添加文本。
- 如何在Android应用中测试Google Actions()
- 在JavaAndroid中获取开始和结束的一天的纪元第二。
- 如何在spring-boot中用application.properties制作config类()
- 在android studio中引用Firestore
- Sqlite表在小米Note 7s上不创建,但在其他手机和Android Studio中的虚拟设备上创建。
- Apple为什么说iPhone应用程序使用MVC()