0

我目前正在开发一个具有多种功能的项目。主要目标是能够通过表格提出工作干预请求。在这一个中,不同的下拉菜单允许选择一个站点,然后是一个扇区,然后是一个区域,最后是一个房间(它们都是相互关联的,并且在每次更改时,计划都会更新)。然后他填写各种信息并验证他的请求。它运行良好,请求保存在 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] 并且它有效)

我不分享屏幕截图或我的工作表文件,因为这是一家相当大的公司,我不想在网络上播放它的内容。但是,如果您愿意,我总是可以创建“示例”表来说明我在说什么。

在此先感谢您的帮助。

4

1 回答 1

0

感谢您的回答 Tanaike 但在谷歌上进行了多次搜索后,我意识到我的问题出在我的照片的网址上。

事实上,谷歌照片的链接是临时的,显然每 2 或 3 天重新生成一次。这就是为什么我的照片没有正确显示的原因。我将关闭该主题,并请您参考这篇涉及该主题的文章

关联

于 2021-09-27T07:58:07.243 回答