我创建了一个 Google Apps 脚本,我已经部署了它Publish > Deploy web app并且我正在使用script.google.com/macros/s/#####/exec?run=ok.
每次我在代码做一个小的修改,我需要重做 Publish > Deploy web app和变革Project version来New。
这有时很烦人,因为对于每个小的修改,您都需要重做。
有没有办法使调用脚本从script.google.com/macros/s/#####/exec?run=ok 自动链接到最新版本的代码?
我想与其他人共享工作表,但我也希望他们看不到某些列。有什么办法可以使用谷歌应用程序脚本解决这个问题,或者是否有任何替代选项。谢谢你。
每当我的收件箱收到新电子邮件时,我都想运行处理功能。我正在查看https://developers.google.com/apps-script/guides/triggers/events。我没有看到在电子邮件到达时触发事件的方法。我错过了什么吗?
我将以下日期21:50:04 Nov 13, 2017 PST作为字符串,我使用以下代码对其进行格式化(仅显示月份和日期)。
Utilities.formatDate(new Date(inData[r][0]), "GMT", 'MMM-dd')
Run Code Online (Sandbox Code Playgroud)
我得到的输出是Nov-14,我尝试更改GMT-05:00仍然产生相同结果的区域。
谁能告诉我我必须做哪些更改才能返回Nov-13相同的输入。
要验证 webhook,我需要从请求标头中获取参数。到目前为止,如果实际上可以在 Apps Scripts 中访问这些标头,我找不到任何信息。到目前为止唯一有效的是访问发布请求的正文。
function doPost(e) {
// something like this
var headerParam = e.headers['Content-Type'];
// ...
}
Run Code Online (Sandbox Code Playgroud) 我想从一个单元格设置注释——注释应该设置为同一个单元格。
我试过这个功能
function setNote(note){
var note = note;
var cell = SpreadsheetApp.getActiveSheet().getActiveCell();
if(note == ""){
cell.clearNote();
}else{
cell.setNote(note);
}
}
Run Code Online (Sandbox Code Playgroud)
但出现错误You do not have permission to call setNote (line 8),这很明显,因为我无法编辑任何带有“单元格函数”的单元格(在单元格中输入/键入的函数,而不是 GAS/JavaScript 函数本身)。
有没有办法从单元格本身设置注释(使用“单元格函数”)?
我希望能够从单元格内设置单元格值(我已经可以)和注释(我还不能),例如 '=if(d4=4, e4, "") & setNote(b4 )` ......或类似的东西。
我尝试在 gmail 插件中创建简单的表单,
如何使用html服务
下面的代码,我试过了,
function buildAddOn(e) {
var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
var test_card = doGet()
cards.push(test_card);
return cards;
}
function doGet() {
return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
我无法让我的基于 Apps 脚本的 HTML 包含任何脚本。
我doGet的HtmlService工作正常:
function doGet() {
return HtmlService.createHtmlOutputFromFile('myhtmlfilename');
}
Run Code Online (Sandbox Code Playgroud)
无论我的 HTML 文件上是否有任何脚本标签,我似乎都会得到以下信息:
我曾尝试将我的所有 JavaScript 存储在一个带有标签(称为JavaScript.html)的单独 HTML 文件中,然后使用强制打印脚本将它们重新包含到我的 HTML 中。
我的 HTML 文件包含我的脚本标签:
<script>
function transferItems(){
google.script.run.test();
}
</script>
Run Code Online (Sandbox Code Playgroud)
我将脚本 HTML 包含为 scriptlet 的函数,我也尝试将其作为“getRawContent”而不是“evaluate”:
function include(filename) {
return HtmlService.createTemplateFromFile(filename).evaluate().getContent();
}
Run Code Online (Sandbox Code Playgroud)
我的脚本:
<?!= include('JavaScript'); ?>
Run Code Online (Sandbox Code Playgroud)
我在 code.gs 中的函数称为test():
function test() {
alert("This is a test.");
}
Run Code Online (Sandbox Code Playgroud)
我的主 HTML 页面中的按钮,我试图通过该按钮调用该test()函数:
<button onClick="transferItems()">Transfer</button>
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,我的页面最终都会在浏览器中将这些 scriptlet 显示为文本。
我错过了什么?
我读过的所有答案和教程都来自 2015 …
我想将我的 Google 电子表格的备份创建到我的 Google Drive 文件夹中,但作为 Excel 文件。我设法创建了一个代码来创建 gsheet 的副本并将其保存到文件夹中,但我无法更改代码以将其保存为 Excel 文件。
你能帮我吗?
function makeCopy() {
var formattedDate = Utilities.formatDate(new Date(), "CET", "yyyy-MM-dd' 'HH:mm");
var name = "Backup Copy " + formattedDate;
var destination = DriveApp.getFolderById("1vFL98cgKdMHLNLSc542pUt4FMRTthUvL");
var file = DriveApp.getFileById("2SqIXLiic6-gjI2KwQ6OIgb-erbl3xqzohRgE06bfj2c")
file.makeCopy(name, destination);
}
Run Code Online (Sandbox Code Playgroud) export-to-excel google-sheets google-apps-script google-sheets-macros
我正在尝试通过模式传输获得 A 和 B 之间的距离。
这是我在谷歌表(excel)上的代码
=importXML("http://maps.googleapis.com/maps/api/directions/json?origin="& A4 & "&destinations=" & D4 & "&mode=transit&arrival_time=1391374800&key=MYKEYHERE"; "//distance/text")
Run Code Online (Sandbox Code Playgroud)
它说“无法调用Url”。我在这个问题上坐了一段时间,我将不胜感激。
其他然后导入 XML 并在代码中说/json?origin我真的不明白这个问题。
编辑:我在文档中找到了这个
<travel_mode>TRANSIT</travel_mode>
<start_location>
<lat>40.7563670</lat>
<lng>-73.9907530</lng>
</start_location>
<end_location>
<lat>40.8179080</lat>
<lng>-74.0656630</lng>
Run Code Online (Sandbox Code Playgroud)
但我不确定如何在上面的行中输入它。我为目的地和起点做所有的长和纬度。
maps google-maps google-sheets google-apps-script google-sheets-formula