我目前正在开发一个具有多种功能的项目。主要目标是能够通过表格提出工作干预请求。在这一个中,不同的下拉菜单允许选择一个站点,然后是一个扇区,然后是一个区域,最后是一个房间(它们都是相互关联的,并且在每次更改时,计划都会更新)。然后他填写各种信息并验证他的请求。它运行良好,请求保存在 Google 表格中。
我还开发了其他功能,例如归档已完成的请求。所有数据都存储在同一个工作表文件的不同选项卡中(请求、计划、归档……)。
我想创建一个允许我打印正在进行的请求的功能。正是在这一点上,我遇到了困难。事实上,我想创建一个 pdf,允许可视化在输入框中获取的请求的所有信息(获取用户请求的 id)。我创建了一个临时文件以创建我的 pdf(之后将其删除)。我设法创建了临时表,将其删除并恢复了除相关计划之外的所有信息。我认为问题出在我使用 Google 照片中的链接,因为我使用 lambda 图像 url 进行了测试并且它有效。有谁知道如何从我的 Google 照片中显示我的 pdf 地图?(网址以“https://lh3.googleusercontent.com/”开头)
这是我用于地图显示部分的代码:
// Récupération de l'ensemble des plans dans tPlansZones
var feuillePlans = classeur.getSheetByName("Plans");
var tPlansZones = feuillePlans.getRange("E2:F").getValues();
for (let i = 0; i <tPlansZones.length; i ++){
// Si le plan correspond, enregistrement de l'url de celui-ci
if (tPlansZones[i][0]==zoneAdd){
urlPlan = tPlansZones[i][1];
break;
} else {
continue;
}
}
// Affichage du plan
var donneePlan = nouveauSheet.getRange('B21');
donneePlan.setFormula(`=image("${urlPlan}")`);
SpreadsheetApp.flush();
donneePlan.copyTo(donneePlan,{contentsOnly: true});
SpreadsheetApp.flush();
var fusionPlan = nouveauSheet.getRange("B21:H45").setHorizontalAlignment("center");
fusionPlan.merge();
代码说明:
1 - 我在 tPlansZones 中获得所有区域的名称 (tPlansZones[0]) 和相关计划的 url (tPlansZones[1])
2 - 如果请求中输入的区域名称对应for循环的其中一个plan,我在urlPlan中记录这个的url,否则我继续
3 - 我显示计划(我想提醒您,我测试了来自谷歌搜索的随机图像的 url,我将其分配给了请求分配到的区域的 tPlansZones[1] 并且它有效)
我不分享屏幕截图或我的工作表文件,因为这是一家相当大的公司,我不想在网络上播放它的内容。但是,如果您愿意,我总是可以创建“示例”表来说明我在说什么。
在此先感谢您的帮助。