使用 Google 脚本从 Google 照片中导入 Google Sheet 一张 google 图片
Import in my Google Sheet a google picture from Google Photos with Google Script
我目前正在从事一个具有多项功能的项目。主要目标是能够通过表格提出工作干预请求。在这一个中,不同的下拉菜单允许 select 一个站点,然后是一个扇区,然后是一个区域,最后是一个房间(它们都相互关联,每次更改时,计划都会更新)。然后他填写各种信息并验证他的请求。它运行完美,请求保存在 Google Sheet.
中
我还开发了其他功能,例如归档已完成的请求。所有数据都存储在同一个 sheet 文件中,在不同的选项卡(请求、计划、归档等)中。
我想创建一个允许我打印正在进行的请求的功能。正是在这一点上,我遇到了困难。事实上,我想创建一个 pdf 允许可视化在输入框中捕获的请求的所有信息(用户请求的 id 的捕获)。我创建了一个临时的 shhet 以创建我的 pdf(之后被删除)。我设法创建了临时 sheet,将其删除并恢复了除相关计划之外的所有信息。
我认为问题出在我使用 Google 照片中的 link,因为我使用 lambda 图像 url 进行了测试并且它有效。有谁知道如何显示我的 Google 照片中的 pdf 地图? (url 以“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循环的计划之一,我记录在url计划中这个url,否则我继续
3 - 我显示计划(我想提醒您,我测试了来自 google 搜索的随机图像的 url,我将它分配给了 tPlansZones[1]请求分配到的区域并且有效)
我不分享屏幕截图或我的 sheet 文件,因为这是一家相当大的公司,我不想在网络上传播其内容。但如果您愿意,我总是可以创建“示例”sheets 来进一步说明我在说什么。
在此先感谢您的帮助。
感谢 Tanaike 的回答,但经过 Google 夜间的多次搜索后,我意识到我的问题出在照片的 url 上。
的确,link 的 Google 照片是临时的,显然每 2 或 3 天重新生成一次。这就是为什么我的照片没有正确显示的原因。我将关闭该主题,并向您推荐这篇涉及该主题的文章
我目前正在从事一个具有多项功能的项目。主要目标是能够通过表格提出工作干预请求。在这一个中,不同的下拉菜单允许 select 一个站点,然后是一个扇区,然后是一个区域,最后是一个房间(它们都相互关联,每次更改时,计划都会更新)。然后他填写各种信息并验证他的请求。它运行完美,请求保存在 Google Sheet.
中我还开发了其他功能,例如归档已完成的请求。所有数据都存储在同一个 sheet 文件中,在不同的选项卡(请求、计划、归档等)中。
我想创建一个允许我打印正在进行的请求的功能。正是在这一点上,我遇到了困难。事实上,我想创建一个 pdf 允许可视化在输入框中捕获的请求的所有信息(用户请求的 id 的捕获)。我创建了一个临时的 shhet 以创建我的 pdf(之后被删除)。我设法创建了临时 sheet,将其删除并恢复了除相关计划之外的所有信息。 我认为问题出在我使用 Google 照片中的 link,因为我使用 lambda 图像 url 进行了测试并且它有效。有谁知道如何显示我的 Google 照片中的 pdf 地图? (url 以“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循环的计划之一,我记录在url计划中这个url,否则我继续
3 - 我显示计划(我想提醒您,我测试了来自 google 搜索的随机图像的 url,我将它分配给了 tPlansZones[1]请求分配到的区域并且有效)
我不分享屏幕截图或我的 sheet 文件,因为这是一家相当大的公司,我不想在网络上传播其内容。但如果您愿意,我总是可以创建“示例”sheets 来进一步说明我在说什么。
在此先感谢您的帮助。
感谢 Tanaike 的回答,但经过 Google 夜间的多次搜索后,我意识到我的问题出在照片的 url 上。
的确,link 的 Google 照片是临时的,显然每 2 或 3 天重新生成一次。这就是为什么我的照片没有正确显示的原因。我将关闭该主题,并向您推荐这篇涉及该主题的文章