我有一个脚本,将报告保存为特定驱动器文件夹中的pdf。根据电子表格单元格B2中选择的选项,可以以三种不同的方式打印报告。我希望它为每个选项保存一个pdf。
大部分脚本都很好用。唯一的问题是,当脚本更改单元格B2的值时,工作表在保存为pdf之前不会使用新选项刷新。因此,我得到了三个不同名称的pdf,但它们的内容相同。记录器和三个不同的pdf告诉我for循环正在所有三个选项中循环。但在保存为pdf之前,电子表格不会更新为新选项。
在绝望中,我尝试在setValue命令之后输入wait命令(我知道,糟糕的编码),但没有成功。
function sendWeeklyToFaculty(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var folder = DriveApp.getFolderById("0B-m6KcESC3NCSG02WVhtdUVBLTQ");
var reportSheet = spreadsheet.getSheetByName("Faculty Report");
//These are the different report options
var optionArray = ["Option","Student","Percentage"];
//This cycles through each report option
for each (var info in optionArray) {
Logger.log(info);
reportSheet.getRange("B2").setValue(info);
var reportOption = info;
var pdfName ="GA Summary - By "+ reportOption;
//This bit removes any files with the same name
var files = folder.getFilesByName(pdfName + ".pdf");
while (files.hasNext()) {
files.next().setTrashed(true);
}
//This bit creates the new file
var sheetId = spreadsheet.getSheetByName("Faculty Report").getSheetId();
var url_base = spreadsheet.getUrl().replace(/edit$/,'');
var url_ext = 'export?exportFormat=pdf&format=pdf' //export as pdf
// Print either the entire Spreadsheet or the specified sheet if optSheetId is provided
+ (sheetId ? ('&gid=' + sheetId) : ('&id=' + spreadsheetId))
// following parameters are optional...
+ '&size=letter' // paper size
+ '&portrait=true' // orientation, false for landscape
+ '&fitw=true' // fit to width, false for actual size
+ '&sheetnames=false&printtitle=false&pagenumbers=false' //hide optional headers and footers
+ '&gridlines=false' // hide gridlines
+ '&fzr=false'; // do not repeat row headers (frozen rows) on each page
var options = {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken(),
}
}
var response = UrlFetchApp.fetch(url_base + url_ext, options);
var blob = response.getBlob().setName(pdfName + '.pdf');
folder.createFile(blob);
//need a bit to send a reminder e-mail to the faculty, once I get the reports to create themselves correctly.
}
}
如何让脚本在工作表更改时等待,或强制工作表刷新?
尝试使用电子表格应用程序。冲洗()
对电子表格进行任何更改后,然后另存为pdf。如果不起作用,请使用
SpreadsheetApp。冲洗()
实用程序。睡眠()
刷新后再试一次,这对我很有效。
我有一个方法,可以为WebView的WebEngine设置一个新的网页,需要等到网页加载完成后才能继续使用当前方法。 基本上我想要: 我尝试过使用ChangeListener(),但它只会在我的方法完成执行后执行。我在谷歌上搜索了许多导致更多挫折感的术语,比如“java非阻塞等待布尔值”。最终,我成功地启动了新线程(以防止应用程序GUI锁定)并使用了倒计时(与Thread.join()相反)。下面
Espresso的广告特性是,它总是等待Android的UI线程空闲,这样你就不必考虑任何时间问题。但我似乎发现了一个例外:-/ Espresso希望写入一个,其ID是可见的。由于swipe操作尚未完成,第一个片段和第二个片段中的都可见,因此匹配的失败,只有2个匹配项。 如果通过在swipe操作之后添加,手动强制中断,则一切正常。 有人知道怎么做浓缩咖啡等到刷动作完成吗?或者至少有人知道为什么会这
如题: 在uniapp里,怎样把页面保存为本地图片?包含背景图片等。 我试了好多方法,都不行。 我是在uniapp里用的vue3写的app。需要兼容安卓和ios
本文向大家介绍jQuery EasyUI 页面加载等待及页面等待层,包括了jQuery EasyUI 页面加载等待及页面等待层的使用技巧和注意事项,需要的朋友参考一下 下面一个代码片段是 easyUI 页面加载等待,代码如下所示: 下面看个工具类 基于easyui的页面等待提示层,即mask 效果图: 以上所述是小编给大家介绍的jQuery EasyUI 页面加载等待及页面等待层,希望对大家有所帮
我使用的是PrimeFaces 6.1。我正在尝试使用dataExporter组件导出带有页脚的dataTable。页脚正确导出为CSV和XLS格式,但对于PDF,它只是拒绝包含它。尝试同时使用p:column的footerText和f:facet footer,得到了相同的行为。 我还尝试切换到PrimeFaces扩展导出器,它最终在PDF导出中包含了页脚,但也包含了一些我不知道如何排除的表格列
问题内容: 我是新手。我正在使用获取对象列表并将其显示在第一页上的服务。然后根据单击的对象,在下一页上设置选项卡标题。但是,当我刷新页面时,列表的范围丢失了,并且选项卡头引发了异常,导致页面无法显示信息。即使刷新第二页,是否可以保留上一个屏幕上单击了哪个对象的信息? 问题答案: 您可以使用角度本地存储 角度本地存储 示例如何使用它: 使用本地存储的示例