当你点击一个按钮时,你如何对一个数字进行加减。我只想说
if (button.click){
num++;
}
我怎么能用谷歌应用程序脚本按钮做这样的事情呢?事情对我来说似乎不那么简单,因为我从未使用过点击处理程序。这可能是我错过的一些简单的东西。谢谢您的帮助。请查看此演示代码:
var sh = SpreadsheetApp.getActiveSheet();
var ss = SpreadsheetApp.getActiveSpreadsheet();
//
function mo
我在电子表格中有一个谷歌脚本,可以从日历中加载约会。它计算约会花费的时间。但是更新日历项目需要很长时间,我经常会遇到超时错误。从日历中获取约会不是问题。脚本中提到的电子表格每10个选项卡中的查询是否会减慢速度
function updateUren()
{
var cal = CalendarApp.openByName("Uren");
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Uren");
我想找出两件事
我可以优化我的代码以使其运行更快吗
有没有办法测试我脚本的速度
我的脚本只是从URL(例如:)中提取数据,该URL将粘贴到电子表格的第一个单元格中。然后,它用存储标题的第一列和存储摘要的第二列填充单元格
我使用的触发器将执行脚本onEdit(),这样每当对电子表格的第一个单元格进行编辑时,它都会运行
任何提示,提示,甚至是一个去看这里是感激的
这是我的密码
function respondToSearch() {
// Gets the active sheet in
我有一个导入表(通过importData()),其中包含一列完整的USD值。我想将这些值转换为GBP
我知道(假设)这将通过=GoogleFinance(“货币:USDGBP”)完成,但我不知道如何应用它,因为单元格由importData函数填充。有办法解决这个问题吗?如果不太麻烦的话,您可以制作一张只处理数据导入的工作表。然后在另一张表中,只需引用导入的单元格乘以货币兑换率(由谷歌金融(“…”)给出)。是的,这是(大致)我的备份计划。这当然足够了,我只是希望有一个稍微“整洁”的解决方案。无论如
我正在尝试将Google电子表格与Google BigQuery连接起来,因为我创建了一个Google应用程序脚本,但当我尝试运行它时,出现以下错误:
Cannot call method "setSchema" of undefined.
调用设置模式的代码如下
var loadJob = BigQuery.newJob()
.setConfiguration(
BigQuery.newJobConfiguration()
.setLoad(
我看了看,没有得到具体的答案。我想做的是有一个欠下的手机和一个付了钱的手机。我希望欠款总额减去已支付的金额,并将其自身更新为新的较低金额,以便当我在同一“已支付金额”单元格中输入另一个金额时,它再次从先前更新的金额中减去。我尝试过不同的公式,但最终还是出现了循环依赖错误。有没有办法让单元格按特定顺序计算?首先执行单元格a21,然后使用a21中更新的值执行单元格b21,依此类推。您需要使用VBA脚本来实现所需的功能
代码需要位于相关工作表的工作表\u更改事件处理程序中
基本上,代码应该使用以下逻辑
因此,我有一个HTMLservice将一个文件blob上传到一个google驱动器文件夹,该文件夹也正在重命名该文件。我遇到的问题是重命名操作实际上导致文件扩展名被删除。我最初试图做的是添加一个函数来检索文件扩展名,然后在.rename操作中添加它,但是如果有更有效的方法保留扩展名,我将使用它
代码.gs
var submissionSSKey = 'SSId';
var folderId = "FolderId";
function doGet(e) {
var template = H
我正在写一个谷歌表单脚本,需要保存关于每个问题的额外信息。我正在考虑使用问题ID作为标签的PropertiesService数组,但显然只能保存字符串
-bj您可以使用JSON.stringify和JSON.parse轻松地将数组转换为字符串和反转
首次保存google时,它会要求输入项目名称:
重命名项目
输入新项目名称\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
此项目名称用于什么?为什么用名称保存容器(例如电子表格)还不够?我认为最好的理由是允许在同一个电子表格中有多个脚本项目
现在,人们可能想知道为什么将多个项目绑定到一个电子表格会很有用,但这是另一回事:-)
我正在发布和添加谷歌表单。
这是在“附加组件”选项卡下创建菜单的函数:
function onOpen(e) {
SpreadsheetApp.getUi()
.createAddonMenu()
.addItem('Start', 'showSidebar')
.addToUi();
}
它工作正常,还创建了一个帮助菜单项
现在,我有了一个帮助功能,但如何将其链接到此项目?为此,您只需将帮助功能代码添加到一个名为“showSidebar”的函数中,如本文所述
如果这不是您想要
我正在尝试创建一个脚本,它可以复制工作表的长度(在我研究时发现的其他SO帖子的背面缝合在一起):
当我运行此函数时,我得到:
TypeError: Cannot find function setFormulas in object function getFontColor() {/* */}.Dismiss
我所希望/期望的是将C6:I6中的所有公式复制到从C7开始的每一行中,沿着工作表的长度
该函数一次只适用于一行。所以,如果我将目标设置为C7:I7,并去掉for循环,它就会工作
为什么
我想要一个脚本,在电子表格中发生更新时或通过“添加”菜单按钮选项向特定单元格号发送消息。
我试图找到,但看不到任何类似的选项。在文档中添加菜单或设置OneEdit-even函数非常简单(只需几行代码,具体取决于应用程序的复杂性)。不过,谷歌应用程序脚本没有内置的短信/短信功能
如果您想要完成此sms功能,则需要确定提供sms/文本消息API的公司,并使用自定义脚本访问该API。Twilio是一个很好的工具(虽然不是免费的),或者您可以根据您所在的地区在SMS API列表中找到另一个适合您需要的A
我试图在html服务中构建一个用户界面,可以直接在文档中使用,在这个侧边栏中我有一个带有输入文本的表单,当我提交它时,从表单中检索到该数字的信息。通过遵循谷歌教程,可以很容易地显示和提交表单。
但是,我有个问题。
检索numberID的信息后,我希望在文档中使用该信息创建新段落。
我看到他们把“google.script.run”改成了“google.script.host”,我试着这么做
下面是我的示例代码:
脚本代码:
/**
*谷歌文档用户界面中的文档信息是一个重要的组成部分。
*/
功能
我用谷歌脚本创建了一个表单,现在我想检索回复。来自的示例运行良好,但我还需要来自网格项的行信息。
在这种情况下,我应该能够使用getRows,但它不起作用。我做错了什么
function checkForm(){
var form = FormApp.openById('formId');
var items = form.getItems();
for (var i in items) { Logger.log(items[i]);
Logger.log(items[i].getTit
我为google sheets创建了一个HTML UI,允许用户从下拉列表中选择2个变量,然后将这些变量传递给Code.gs执行。我所观察到的是,偶尔按下“创建”按钮时,代码不会执行
在这种情况下使用onmouseup是否有问题,或者我的问题可能是其他原因。谷歌服务器的响应速度似乎很慢,对话框关闭时变量没有传递。我已经删除了google.script.host.close代码,这样当按下“创建”时对话框就不会关闭,而且似乎可以正常工作??有没有办法确保服务器端代码执行
<hr>
&
我收集了一些谷歌应用程序。我作为独立应用程序运行的脚本,通常嵌入到谷歌网站中。昨天我复制了我的一个功能脚本,并进行了修改,就像我过去多次做的那样,但现在新脚本没有运行,它失败了,出现了语法错误。我盯着这个极其简单的脚本看了好几个小时却没有解决问题,我想这可能是谷歌的问题,或者是我的域名(Corp.domain)的问题
当我尝试运行时,从执行记录中剪下:
[17-04-13 06:39:26:322 PDT] Sheet.getRange([Z3:Z23]) [0.072 seconds]
[17
下午好!返回HTML时,如何更改字符串的颜色,例如数字5?
我查看了文档,无法用我的示例重复它
向你问好,亚历山大
function doGet(){
var ss = SpreadsheetApp.openById("ID");
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:F" + sheet.getLastRow());
var strn = range.getValues()
var template = Ht
在谷歌电子表格的一张表格中,有一个单元格,我正在另一个单元格中引用它。文本可以很好地复制,但没有任何格式。因此,如果我有任何粗体或斜体文字,它将显示为引用单元格中的正常文字
我已经尝试了下面的脚本,但它没有发挥应有的作用。它不复制整个格式,而是只复制单元格边框,并将其复制到下面的多个单元格(总共7个单元格,目标单元格加上下面的6个单元格)
函数onEdit(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var-activeSheet=ss.ge
我正试图根据我在谷歌表单上得到的回复在谷歌硬盘上创建一个文件夹。
我已经要求用户在表单中输入他们的电子邮件地址。我想用这个电子邮件地址在谷歌硬盘上创建一个文件夹
我已经想出以下代码(未优化)创建文件夹
function myfunction() {
var form = FormApp.openById('1EDIT8BSfCUdKxgMLgIjP9VJGPJlQFMHZFpQqa6R_bMs');
var formResponses = form.getResponses();
for (va
我正在为google sheet上的一列中的费率列表创建一个身份验证模块。
我在c栏中有一份原始税率表。我在b栏有实际售价。每个销售率(sRate)记录在b列中。脚本应将b列中的销售费率与c列中的原始费率列表进行比较,如果任何值不相等,则应在d列中记录“相等”或“不相等”,并且我应收到一封警报邮件,因为每个“不相等”条目都提到了与费率不匹配的产品名称。(名字是用可乐写的)。我已经写了剧本的一部分,但并不令人满意
数据格式
A B C D
我有下面的代码,它从活动行获取我需要的所有信息,并将它们放入一个变量数组中。但是,我似乎找不到关于如何将变量附加到同一文档中的另一个工作表的好文档:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var spreadsheetTimeZone = SpreadsheetApp.getActive().getSpreadsheetTimeZone();
var lastUpdatedString = Utilities.f
我有两张床单。管道和归档。我在第5列也有一个数据验证列表,它可以从空白切换到是。当我调试它时,它不会抛出错误。但当我转到我的工作表并将第5列更改为“是”时,它不会移动到归档工作表,也不会删除任何内容
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var c = s.getActiveCell();
if (s.getName() ==
使用谷歌表单,我有一个文件,其中有多张表单,格式与城市各地的人们填写的格式相同。我需要一个脚本,将清除在每一页的具体范围
我能够找到一个满足我需要的代码,但它非常混乱,如果将来添加更多的工作表,它将无法自我维持
有人能为我提供一些意见,让我做得更好吗?也许会选择所有图纸并清除范围
另外,我没有脚本知识,整个上午都在学习文章
function clearRange() {
// replace 'Sheet1' with your actual sheet name
//
TLDR:
我们的谷歌电子表格已损坏,无法编辑/保存。它一直在说试图重新连接。要进行脱机编辑,请在重新连接时启用脱机同步,然后重新连接。这可能是因为保存了很多版本吗?如果是这样,如果我们不希望工作表更改其ID,可以怎么做
非常感谢您的帮助
详细背景:
我们的项目中有一个大型谷歌电子表格(附加>网络>禁用加密连接扫描。注意:即使您通过临时禁用功能Google Docs禁用卡巴斯基,您也必须关闭加密连接扫描,因为即使卡巴斯基被临时停止,它显然也一直在运行(关闭卡巴斯基的另一个错误应该会禁用此功能).
谷歌有时会添加/更改GasAPI,我永远不知道新函数何时何地出现
我可以订阅某个主题,其中所有这些更改都集中在一个地方吗
我知道有问题跟踪系统,但它总是一次只有一个问题,但不是API的所有更新。有一个发行说明部分:
有一个发行说明部分:
哇,这正是我要找的。。非常感谢。可悲的是,我不能给你投票或将你的答案标记为解决方案-我猜是因为我没有足够的信誉点:-(哇,这正是我要找的..谢谢..可悲的是,我不能给你投票或将你的答案标记为解决方案-我猜是因为我没有足够的信誉点:-(
我有谷歌电子表格,它的编辑与“任何人与链接可以编辑”的权利,由多人(8-10)在同一时间。我是该文件的所有者和维护者,有时我希望向文件中的所有活动用户显示一个带有消息的警报对话框。为此,我使用以下代码:
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('Show alert', 'showAlert'
我需要用注释转置一张工作表,不幸的是,当使用过去作为函数或=转置(yy:xx)公式时,注释没有转置。我知道的唯一方法是.moveTo(),但欢迎使用其他解决方案
这会起作用,但我的工作表的范围是A1:BQ24
function transpose() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("original");
var targetSheet = SpreadsheetApp.getActiveSp
我每天提取一个列,在一天结束后删除它自己。但是,当我提取这个列时,它提取的是公式,而不是文本中的单元格值。我只想提取文本
目前,我已经提取了范围和单元格内的内容。如果在连续单元格中勾选了框,则单元格中的公式将复制一个单元格。代码只提取公式
var uploadSheet_undone=SpreadsheetApp.getActive().getSheetByName('Day summary for week')
var undone_tasks_range =sheet_daily.get
我有一个onOpen函数,可以在电子表格中创建自定义菜单。一年多以来它一直运转良好,但几天前它停止运转了
当我看到执行记录时,我得到:
“执行失败:您没有调用SpreadsheetApp.openById的权限。所需权限:”
此操作失败/与以下代码行有关:
var ss = SpreadsheetApp.openById("myID")
我已经检查了启用了哪些API,并且启用了工作表,这反映在.json文件中。脚本中没有@OnlyCurrentDoc。我已重置此脚本的帐户权限,再次运行该函数并
我有一个谷歌表单,在a列中,我需要用无替换按钮上的文本。该列在几个不同的行中具有需要保持不变的标题。我写了以下脚本:
function part() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Builder');
sheet.getRange('A12').setValues([['NONE']])
sheet.getRange('A15:A16').setValues([['NONE']])
sheet.get
如果我的措辞令人困惑,我深表歉意,因为我对脚本和编程还不熟悉。我和我的朋友有一份棋盘游戏列表,其中有我们拥有的游戏列表、玩游戏所需的估计时间以及玩游戏所需的最小/最大玩家数。我创建了一个表格,希望能够在其中输入我必须输入的玩家数玩游戏,以及我们必须玩的时间。然后,当我单击一个按钮运行脚本时,它将显示符合我的标准的所有可用游戏。我有一个公式,我在创建过程中得到了帮助,但希望获得更多关于如何正确执行此操作的指导
以上是相关电子表格的副本,代码如下所示:
/** @OnlyCurrentDoc */
这是我第一次,我在学习。我会尽力解释我的挑战。我将使用Odk收集数据并与电子表格同步。10个用户将在不同时间向该电子表格发送数据。我需要采取最后一行输入和发送电子邮件的数据。我的问题是“getLastRow”是否完成了这项工作。由于有10个用户,我担心在发送电子邮件时会丢失一些线路。提前谢谢
我已经得到了我想要的最后一行和最后一列。我正在使用onEdit触发器。我的主要问题是,如果这个过程是按顺序进行的,如果3个用户同时发送数据?我丢失了2行或getLastRow一行一行地丢失
function
我已经使用谷歌应用程序脚本为谷歌电子表格构建了一个附加组件,我不明白它为什么要求驱动器权限。
Drive API未启用,我未在项目中的任何位置使用DriveApp类,并且DriveApp范围也未在任何位置定义,但它显示在OAuth授权屏幕中,并使应用程序未经验证:
以下是项目属性中的范围:
appscript.json文件中定义的作用域:
"oauthScopes": [
"https://www.googleapis.com/auth/analytics.edit",
"h
我有一张费用表,我会为我的每个相关用户复制到Google Drive文件夹中。工作表的每个副本都需要一个可安装的触发器,该触发器在编辑最后一行数据时调用函数插入额外的行。这些是使用onEdit事件触发的。手动创建(通过“编辑当前项目的触发器””)时,可安装触发器工作正常
为了简化设置新用户的过程,我编写了创建触发器的脚本。虽然脚本创建了触发器,并且它看起来与手动创建的触发器完全相同,但只有在手动打开触发器、重新选择要触发的函数并重新保存它时,它才起作用
我可以在运行创建脚本时确认我是所有者
我所
我尝试了这段代码,效果很好,它会用我需要的帐户发送电子邮件:
var aliases=GmailApp.getAliases();
var Mailfrom=别名[0];
GmailApp.sendmail(
"email@gmail.com",
“来自别名”,
“来自别名的消息!”,
{
“发件人”:邮件发件人
});
另一方面,我有一个发送图像的代码:(工作正常)
var correo=”email@gmail.com";
var copia=”copymail@gmail.com"
v
我已经将下面的脚本添加到我的谷歌工作表中,并将其配置为在表单提交时发送短信。然而,每当我们提交表格时,它不会向任何号码发送任何短信
脚本应该从“what is Your full name”列和“what is Your primary mobile number”列中选择用户全名和手机号码
function createTriggers() {
ScriptApp
.getProjectTriggers()
.forEach(function(trigger) {
Scr
我正在尝试开发一个聊天机器人,它每天运行一个功能并发送一条消息。我从Google开发者网站上的模板开始,但是在获取URL时遇到了404截断的服务器响应错误
错误:
截断的服务器响应:未找到错误404
代码如下:
function onTrigger() {
var spaceIds = PropertiesService.getScriptProperties()
.getKeys();
var message = { 'text': 'Hi! It\'s now ' + (
我是谷歌表单的新手。以前,我有一些C++背景。
我想编写一个执行以下操作的自定义代码:
勾选复选框
确认信息弹出
是确认复选框,否解除复选框
在C语言中,函数只能运行一次并退出。我如何在GoogleSheet中编写一个代码来不断检查复选框条件
是否有某种条件脚本正在运行?您可以尝试使用注释中建议的,并检查复选框的值。使用信息检查复选框的值,然后使用此代码的某些变体创建弹出对话框:
function showAlert() {
var ui = SpreadsheetApp.getUi();
在我的代码库中,我使用CalendarApp.getallcalendar()拥有所有用户的日历
此metod已获得此授权:
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.readonly
https://www.google.com/calendar/feeds
在我的脚本中,关于日历的范围是
因此,当用户访问我的脚本应用程序时,权限是:“…编辑和删除日历…”,但我只需要阅读
我已经把这些定义读了好几遍,但我仍然不明白其中的区别
getActiveCell:Range
摘要:返回此工作表中的活动单元格
说明:返回此工作表中的活动单元格
getCurrentCell:范围
摘要:返回活动工作表中的当前单元格,如果没有当前单元格,则返回null
说明:返回活动工作表中的当前单元格,如果没有当前单元格,则返回null。当前单元格是在Google Sheets UI中具有焦点的单元格,并以黑色边框突出显示。当前单元格从不超过一个。当用户选择一个或多个单元格范围时,选
我创建了一个通过函数绑定到谷歌表单的谷歌表单,我创建了一个2°选项卡,用查询过滤结果
你可以在这里看到结果
在“Ricerca”选项卡中,您可以过滤“Risultati”选项卡中的行。您可以看到查询
=QUERY(Revisioni!A3:AI; "select * where (F contains '"&F2&"') and (E contains '"&H2&"') and
((Month(N)+1 = &
如果Google Docs/Drive中的“普通文档”(例如段落、列表、表格)包含分散在内容中的外部链接,您如何使用Google Apps脚本编译当前链接列表
具体地说,我想通过搜索每个url中的旧文本来更新文档中所有断开的链接,并在每个url中用新文本替换它,而不是文本。
我不认为开发文档的这一部分是我需要的——我需要扫描文档的每个元素吗?我可以使用html正则表达式吗?请举例说明。你说得对。。。搜索和替换不适用于此处。
使用setLinkUrl()
基本上,您必须递归地遍历元素(元素可以包含
我有一个谷歌脚本,它可以向行中引用的电子邮件地址发送电子邮件。我使用复选框列来选择要将电子邮件发送到的行(电子邮件)
不幸的是,我不能只添加一整列空复选框,因为每个附加行都会将新数据添加到复选框的末尾,即工作表的下方
我有一个函数,每次运行工作表时,它都会在工作表所需的列中生成一个复选框,但我正在努力添加它,以便每次从我的表单提交一行时都会运行它
以下是该页面的代码:
var url="https://docs.google.com/spreadsheets/d/1f8n0eRbUac
我已经修改了以下代码片段,尝试用谷歌脚本将来自谷歌硬盘的PDF文件附加到电子邮件中
var optionalAttachmentCell = ss.getSheets()[6].getRange('L2').getValue(); //Here is where the File ID is
var optionalAttachment = DriveApp.getFileById(optionalAttachmentCell); I believe this should get the
我调用YT搜索API,然后获得每个视频结果的完整数据(视频API)
但是,我无法获得每个视频的持续时间
我得到一个未定义的错误:
var videoResultsFullData = YouTube.Videos.list('id,snippet', { id : searchResults.map(item => item.id.videoId)})
var popularChannelIds = YouTube.Channels.list('id,snippet, stat
几天来,我遇到了这个错误:
很抱歉,发生了服务器错误。请稍等片刻
再试一次
执行此行时:
var temp=DocumentApp.openById(newTemplate.getId())
我的代码已经开始工作了,所以我认为这是谷歌内部的东西
有什么帮助吗?非常感谢
亚历杭德罗似乎现在有一个bug
见和
虽然您可能会因为尝试使用DocumentApp打开非Google Docs文档而出现此错误,但您的问题也可能与此错误有关
给它一颗星星以增加可见度。看起来好像现在有一个bug
见和
虽然您可能
我想用她的代码创建一份电子表格的副本,但当我这样做并尝试运行我分配了数字的代码时,比如一个按钮,谷歌告诉我需要授权。我想要的是用她的代码做一份电子表格的副本,当她运行代码时,不要求我授权。
如果有人知道某事,我会提前表示感谢。这是不可能的。您不能转移授权。用户需要手动授权新文件中的脚本
想象一下,如果代码是恶意的,例如,刮取用户数据并将其发送给某人。无论何时涉及用户的数据,您都需要权限
我正在尝试将一个在线数据集链接到一个Google表单,这样Google表单就会自动从一个特定的网站提取数据
这是我试图从中提取数据的工作表示例之一:
我不知道如何处理它给我的代码。我希望最后一天的最新数据出现在我的谷歌工作表上——有什么方法可以做到这一点吗
感谢您提供的任何帮助。看起来该网站提供了一个直接的URL,然后是日期
https://www.opendata.nhs.scot/dataset/b318bddf-a4dc-4262-971f-0ba329e09b87/resource/7f
当在列(X列)中出现任何编辑时,我尝试对电子表格进行排序;根据(X列)中输入的新值,一个简单的公式计算(Y列)中的值
我试图根据公式的输出对电子表格行进行排序(输出可以是1到5之间的任意数字)
代码无法正常工作,因为它似乎随机交换行,但是当我在(Y列)中手动插入数字而不是公式时,它会正确排序
function onEdit(event){
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActive
我设置ImportJSON的值以从API获取数据,并使用indexOf查找数据表的位置标题,有时返回正确,有时不正确,我认为脚本运行太快,无法响应API,因此我使用Ultilities.sleep(1000)等待,仍然无法查找数组中元素的位置,使用indexOf()方法。此方法返回要查找的元素的第一次出现的索引,如果未找到该元素,则返回-1。有两种方法:
使用UrlFetchApp.fetch(url,options)获取JSON,而不是使用公式。然后可以使用range.setValues(va
1 2 3 4 5 6 ...
下一页 最后一页 共 483 页