我已经阅读了这两个链接,在尝试之后,我不能做我需要的事情
我有一个电子表格,其中一张表上有一些数据,另一张表上有列上的关键信息,以这种方式进行比较:
KEY Value1 Value2 Value3
AAA B C D
BBB Y Z W
我需要一个函数来逐行检查我的数据电子表格,查找关键表上的列值。当找到任何值时,它会在数据电子表格的第一列的同一行上写下键值
例如:
数据电子表格
empty text text text B
empty te
我正在我的谷歌网站上编写一个谷歌应用程序脚本,并试图使用谷歌电子表格中两个不同选项卡上提供的数据。根据我从文档中了解到的情况,我可以在站点脚本上使用SpreadsheetApp类中的所有可用方法,只需使用openById()方法即可
不管怎样,这就是我试图做的
function doGet(e) {
var doc = SpreadsheetApp.openById(SPREADSHEET_ID_GOES_HERE).getActiveSheet();
SpreadsheetA
在一个Google站点站点上工作,该站点从电子表格中获取数据并动态构建多个图表,我提到googleapps脚本的工作速度非常慢。在可能的情况下,我通过使用服务对代码进行了分析和优化。优化后,绘制代码大约需要3秒(2759毫秒是我见过的最快的时间之一),才能绘制出包含127行的11个图表。这一次是针对所有数据都放在缓存中的情况。第一次执行时间约为10秒,从电子表格中获取数据并将其放入缓存。在简单的地方,分析代码需要足够的时间(几十毫秒)。为了测量GAS性能,我编写了一个非常简单的过程,并在GAS环
我有这样一个数据表:
**Col1 (NUMBER) Col2 (STRING) Col3 (NUMBER)
21 A 450
12 B 600**
Col1表示天数。我想制作一个折线图,其中h轴是Col1,然后我想为Col2的每个不同值创建一个序列Col3获取v轴的值。但谷歌似乎希望每个系列都有一个专栏。我应该为值a创建一列,为值B创建另一列,等等
有一种方法可以让我在Ms Excel中这样解
如果我想把L2=M2,这是可行的:
对于(var j=2;j您不需要这么多方括号“[]”或括号
试试这个:
for (var j = 2; j<=sheetold.getLastRow(); j++){
sheetold.getRange("L"+j).setFormula('=(M'+j+'\/P'+j+')'); }
for(var j=2;j
如何引用默认的“提交”表单按钮将“onsubmit”触发器与另一个操作链接起来?多谢各位
例如,对于onsubmit
Logger.log('do something');
一个没有。表单服务不允许对产品进行任何编程控制。对于此一般主题,有一个问题跟踪程序。将其启动为“投票”,并接收更新
然而,你并没有迷失方向。在接收表单响应的电子表格中,可以添加带有可安装触发器的脚本,以触发“表单提交”。从那里,您可以对提交的数据执行许多操作,包括根据需要进行日志记录。。。但对形式本身没有任何影响
这些参
我正在用谷歌应用程序脚本构建一个应用程序。我通过检查他们的logonid是否被允许使用应用程序来验证域用户。
我开发了它,当我进入测试阶段时,我是唯一能够实际使用该应用程序的用户。
虽然我已经将web应用发布向导上的“谁有访问权”组合框设置为“任何人”
当用户执行应用程序时,他将得到一个异常,表示在执行doGet()之后的第一个函数时,他没有访问权限。我是否忽略了一些设置或我做错了什么
我使用以下类别:
UserManager
Session
Jdbc
Utilities
Logger
这是在
我编写了一些代码,以便在打开此电子表格时执行。主要是检查除了名为“Main”的工作表之外是否还有工作表,如果有,则删除除“Main”之外的所有工作表。(主工作表将始终显示在第一张工作表中。)然后清除“主”工作表中的任何内容,每次都用最后代码中可以读取的内容替换
// This creates a menu when this spreadsheet is opened.
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsh
我有一个谷歌文档电子表格,其中a列是日期(A1:2013-11-22、A2:2013-11-23、A3:2013-11-24等)。我想自动突出显示-设置一行的背景色,其中a列是今天的日期。每天突出显示不同的行
我希望我将需要一个脚本,IMHO这是不可能在谷歌文档电子表格的条件格式
知道怎么做吗?非常感谢 如果希望电子表格打开时自动打开,则必须安装一个可安装的onOpen,该onOpen将调用以下函数(从脚本编辑器转到Resources>此脚本触发器>添加新触发器>sreadsheet/on op
是否有人知道“如果”可以将谷歌应用程序脚本与谷歌表单一起自动检查粘贴到表单中的文档URL是否为“共享”文档
我是一名教师,我使用谷歌表单收集学生作品,但我遇到的最大问题之一是,学生经常向“非共享”文档提交url进行评分。我希望通过表单在提交表单之前检查输入的文档url以查看其是否为“共享”来减少/消除这种情况
这可能吗?如果是的话,有人能告诉我正确的方向吗
这是我目前使用的表单。
不幸的是,您无法从其URL获取文件,但如果您有文档Id(在URL中),则这可能会有所帮助
如果给定文档id上有编辑器
我一直无法通过编程方式创建一条注释,该注释通过应用程序脚本锚定到Google文档中的特定文本
关于如何使用Google Drive API创建锚定注释的Google文档:
以下是我必须在文档中创建注释的代码:
Drive.Comments.insert({
“种类”:“驾驶#评论”,
“作者”:{
“种类”:“驱动器#用户”,
“displayName”:用户电子邮件,
“isAuthenticatedUser”:没错,
},
“内容”:内容,
“状态”:“打开”,
“锚定”:“{'r':”
我有一个用户最初提交的谷歌表单,比如在事件发生前3周
当事件临近时,他们需要提供最终更新。我希望他们能够选择事件,可能是基于事件名称,然后在该事件的文件初始响应中已经包含的信息中使用表单前缀。然后用户可以进入那里,调整信息并提供最终细节,而无需重新输入所有信息
我该怎么做?:-\谢谢
hunna03这可以使用谷歌应用程序脚本来完成
例如,原始Google表单的结果可以存储在Google表单中,该表单的字段可用于生成新表单
有关创建Google表单的相关文档可在此处找到:
我有这个代码,我已经发现,这是为了测试,以授权电子表格导出到pdf
function autorizeLevel3() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//this is three level authorization
var oauthConfig = UrlFetchApp.addOAuthService("google");
oauthConfig.setAccessTokenUrl("https:
我有一个非常基本的GoogleApps表单,有两个问题,Resource(带有两个选项的单选按钮)和Name(文本字段)。我想在提交时选择表单值,因此我设置了一个触发器(在表单提交时)来调用函数:
function onFormSubmit(e) {
Logger.log(e.namedValues["Resource"]);
}
知道我做错了什么吗?因为脚本包含在表单本身中(如本答案的评论中所述),e.namedValues不存在,您必须改用表单事件方法
乙二醇
var response
我有一个程序,我正试图使采取的数据在一个电子表格,并使其成为谷歌的形式,目前我正试图使11个单元格每个填充一个下拉列表。有一个setChoices方法,在它里面你可以创建Choices,但是你不能在它里面有任何其他类型的代码来表示用for循环进行11个选择,每个选择都是数组中的下一个字符串。如果你能想出任何其他方法,请让我知道
这是我目前的代码:
function onOpen() {
var sheet = SpreadsheetApp.getActiveSheet();
var n
我正在尝试通过谷歌应用程序脚本获取电子邮件。如果某人的生日是今天,我会收到一封提醒邮件。我有一个谷歌表格,上面已经有了这些数据。但我在一些事情上有问题。首先,下面是我正在运行的代码
var-activeSheet=SpreadsheetApp.getActiveSpreadsheet();
var birthdaysSheet=activeSheet.getSheetByName(“数据”);
var settingsSheet=activeSheet.getSheetByName(“设置”)
我的问题的一个例子是,我是否有以下单元格A1和A2
单元格A1:
红色的
白色的
蓝色的
单元格A2:
橙色的
黄色的
绿色的
如何使其自动转换为:
A1单元:红色
A2单元:白色
A3单元:蓝色
A4单元:橙色
单元格A5:黄色
单元格A6:绿色您可以使用此嵌套函数执行此操作:
=transpose(split(join(char(10),A1:A2),char(10)))
解释:
char(10)是新行或回车符的字符,这是在单个单元格中包含所有这些值时发生的情况
因此,在join函数中将其
我正在尝试使用通过谷歌表单发布的信息创建文档,然后在创建文档后,我希望将文档移动到共享文件夹中供人们查看
目前,我的脚本从谷歌表单链接的电子表格中获取了所有信息
使用这些信息,我使用以下代码创建文档:
var targetFolder = DriveApp.getFolderById(TARGET_FOLDER_ID);
var newDoc = DocumentApp.create(requestID + " - " + requestSummary);
这将在我的Google Dr
在划分给定的总持续时间后,我很难获得propper持续时间值
下面是该函数的一个示例。这是实函数的缩写版本。在实函数中,我循环遍历一个范围,并将每一行的持续时间(单元格设置为格式Time:h:mm:ss)相加到totDur中。我从较大的函数中获取了这个值,并为这个例子显式地设置了这个值。令人困惑的是,在同一个函数中,这种方法适用于大约25个其他持续时间分割计算,但不是这个。我感觉它与数据类型或类似的东西有关
函数myFunction(){
var totDur=新日期();
var-totRe
如何获取对新创建或导入图纸的引用
我尝试的方法是获取活动电子表格中所有工作表的数组,并遍历这些工作表对象以获得ID号最高的工作表。我这样做是因为注释的文档:
ID是在图纸创建时指定的单调递增整数,与图纸位置无关
我认为这意味着每个新表单的ID总是高于任何其他现有表单的ID。但我很快通过一点实验发现,新工作表不一定具有最高的ID。特别是,我发现,如果创建一个新工作表并重命名它,那么新工作表并不总是具有最高的ID,但如果您保持名称不变(即“Sheet5”,等等),那么新工作表确实具有最高的ID
我是
作为Htmlservice在应用程序脚本下运行时获取此异常
参考程序,我从下面的链接使用
程序名为:“处理谷歌硬盘项目”
从google开发者控制台创建客户端id和Appkey。
但我还是不例外
401. That’s an error.
Error: invalid_client
no registered origin
Request Details
client_id=562361707913-7unrv3ioupsmuomsc741gfdmh3n4hg97.apps.googleu
我正在从单元格中读取财务s格式的数字。5000为财务编号One,3000为财务编号WO
var financialNumberOne = ss.getRange("A1").getDisplayValue();
var financialNumberTwo = ss.getRange("A2").getDisplayValue();
我怎样才能把它转换成数字,这样我就可以用它做一些数学运算了
var result = financialNumberOne + financialNumberTw
全部,
我正在试着做一张时间戳表。其想法是,每当用户按下按钮时,所选单元格将获得当前时间,背景颜色将变为红色。
我设法修复了时间部分,但没能让它改变颜色。我最接近它的是:
function timeStampM() {
SpreadsheetApp.getActiveSheet()
.getActiveCell()
.setValue(new Date());
var sheet = SpreadsheetApp.getActiveSheet();
var range = she
我错误地撤销了在谷歌电子表格的时间触发器上运行的谷歌应用程序脚本的权限:。我现在收到一封电子邮件,说明脚本无法运行。转到电子表格并编辑脚本无法打开脚本,可能是因为缺少权限,但没有显示任何错误,只有一个空白的脚本编辑器。我可以在这里看到脚本的触发器:,但无法访问脚本
如何还原或恢复此脚本的权限?
或者如何获取此脚本的代码?它存放在哪里 如果您只是撤销了权限,它将不会删除实际的脚本/编码。因此,它可能不会附加到您正在打开的电子表格中。也许你打开了错误的电子表格,或者它是独立的-如果你在谷歌硬盘搜索中
我需要将GCal选项卡中的每个任务输入谷歌日历。事件日期为“截止日期”,标题为“任务”
这是我目前正在处理的工作文件
查看上的文档,它应该是您要查找的内容
示例:为登月创建全天事件
var event = CalendarApp.getDefaultCalendar().createAllDayEvent('Apollo 11 Landing',
new Date('July 20, 1969'));
如果我有var任务和var日期,如何将其输入到代码中?var event=Cal
我无法找到使用GoogleSlidesAPI更新现有对象文本的正确方法
目前我正在删除幻灯片并重新创建它。使用如何?通过使用此选项,可以修改图中和幻灯片上的文本。示例脚本如下所示。当您使用此功能时,请在API控制台和高级Google服务中启用幻灯片API
示例脚本:
此示例将PageObjectId幻灯片上的“示例文本”修改为“更新文本”
如果我误解了你的问题,我很抱歉。文档是你要找的
有两种方法可以使用幻灯片API替换演示文稿中的文本:
通过执行全局搜索和替换
通过显式删除和添加文本。两种方法
在一个谷歌应用程序脚本项目中,我需要存储一些敏感用户的数据,以便以后执行。假设在第一次执行期间,用户提供一些数据,第二次脚本使用这些数据
有很多方法可以做到这一点,比如在谷歌文档中保存或者在硬盘上保存。然而,我认为最干净的方式是将其储存在
它工作得很好,但是我不确定这种方法是否足够安全。目前还不清楚这些数据是如何存储的。我找不到任何技术说明。我检查了一下饼干,看起来它没有用饼干。也许,它存储在G服务器的某个地方,但是其他一些脚本能够读取我放在UserProperties中的数据吗?另外,还不清楚
我一直在研究这个网站,但找不到解决我问题的方法。我需要编写一个脚本,从工作表中提取一个或多个文件名列表,并使用这些文件名作为输入,将实际文件从驱动器中的一个文件夹移动到另一个文件夹。我现在的问题是,我不知道如何处理脚本中返回的值“Fileiterator”。因此,运行脚本时遇到的错误是“TypeError:无法在object FileIterator中找到函数makeCopy”
我不确定在使用MakeCopy()方法或设置从工作表中提取值的变量时是否遗漏了某些内容
这是我的密码:
// Acce
所以我刚刚发布了一个GoogleSheets插件
它显示第一张图纸的菜单项。但当我在该工作表上运行某些功能时,它只显示该工作表上的菜单项,而不显示驱动器中的其他工作表
我认为加载项脚本不知何故被绑定到了第一页
你知道为什么会这样吗?所以这个附加组件被公开发布了。
我想出来了。这是因为全局变量声明中的错误-
activeSpreadsheet=SpreadsheetApp.getActiveSreadsheet()
您的加载项有一个与之关联的google控制台项目。控制台允许访问错误报告。我在控制
因此,我一直在试图找出如何阻止从谷歌表单输出的谷歌表单响应中出现重复行。如果找到这个链接,它听起来像是做了我想要的(),但我的生活无法解决如何编辑给定的答案在我的工作表上工作
我已经包括了我的工作簿的屏幕截图,以给出我希望编辑的代码能够运行的数据结构的示例,下面是我在数据结构上正确运行代码的尝试
我希望在其上运行代码的工作表结构。我想使用电子邮件地址作为“唯一”标识符,因此可以使用该标识符识别任何重复的行
我试图调整代码以处理上述数据结构(我完全没有这种脚本语言的背景,因此如果我犯了明显的错误,
我有一个谷歌表单,并添加了一个脚本
我创建了一个函数:
function myFunction(e)
{
Logger.log(e);
}
然后我进入编辑>当前项目触发器
我添加了一个新触发器,选择myFunction和以下设置:
从表单中选择事件源
在表单提交时选择事件类型
当我提交表格并检查日志时,我看到:
{authMode=FULL,source=Form,triggerUid=25580}
它没有响应对象
我已经设置了许多其他表单,并且
在与上述类似的文档中,我可以获得具有以下代码的所有段落:
var-paras=body.getparations()
请注意,上面的代码不仅返回顶级段落,还返回ListItems、Tables等中的所有子级别段落
如何在选定范围内执行相同的操作?下面的代码只返回顶级元素
const selection = DocumentApp.getActiveDocument().getSelection();
var rangeElements = selection.getRangeElements()
我有上图所示的表格,并希望执行以下操作:对于B2:B21和D2:D21范围内的单元格,我希望将每个单元格的背景色设置为其右邻接单元格的背景色。因此,例如,B3的背景色应与C3的颜色相同;D14的背景色应与E14的颜色相同,以此类推。这是否可能使用Google Sheet的公式、条件格式,或者我必须添加一个脚本来实现,如果是,如何实现?也许您可以尝试以下方法:
function changeBackgroundColor() {
var sheet = SpreadsheetApp.getAc
我有一个电子表格链接到从任务列表导入任务的独立脚本。当我是用户时,它工作正常,但在共享用户帐户中不工作
独立脚本中的代码是
function getTasks() {
var tasklistID="mytasklistid";
var tasks=Tasks.Tasks.list(tasklistID);
return tasks
}
function getTask(){
var tasks = TaskManagerScript.getTasks()
Brows
我正在使用Google Forms作为工具来自动化我的工作流程,并从电子表格数据生成文档。
为了避免两次输入所有数据,我尝试生成一个带有预填充响应的表单链接。
我可以用这段代码(感谢@Mogsdad previous),它工作得很好,除非我在复选框中有一个可选的“other”字段和多个可选选项。在这种情况下,我没有得到这个可选值,这正是我想要的,因此用户不必重新键入它
我使用的代码是:
var ss = SpreadsheetApp.getActive();
var sheet = Sprea
我试图从google analytics中提取数据,对数据进行一些数据操作,并将格式化数据粘贴到google工作表中。我知道如何提取数据,我知道如何将其粘贴到谷歌工作表中——我不知道如果我在使用Python,我会使用Pandas库来完成需要完成的操作,但我对javascript/google应用程序脚本一无所知
我一直在谷歌搜索如何在谷歌应用程序脚本中操作数据,但我找不到任何有用的东西
这是我目前为止的代码,它可以将数据正确地粘贴到google工作表中:
function updateRepor
我是谷歌脚本应用程序的新手,但我想在此脚本中添加以下内容:
当执行“插入到工作表B”时,它还会将当前的日期/时间插入第4列,并将任何用户详细信息插入单元格第5列。所以用户名,电子邮件地址,一些与用户相关的东西,所以我知道是谁做的
function transferdata() {
var ui = SpreadsheetApp.getUi();
var result = ui.alert(
'*** ATTENTION ***',
'Do
我想在我的谷歌应用程序中添加一个注销按钮,它会将用户重定向回谷歌登录窗口。但是,当我使用重定向链接时,如下所示:
用户已注销,但地址栏中的网址保持不变,屏幕变为空
在我刷新网站后,会显示登录屏幕(这很明显,因为用户以前已经注销)
我希望用户在一个清晰的步骤中注销并重定向到登录屏幕。如何在我的谷歌应用程序脚本中放置注销按钮?我犯了两个错误
1) 在doGet(e)函数中返回HTML服务时,我已启用:
aHtmlService.setXFrameOptionsMode(HtmlService.XF
比方说,我按下一个按钮,需要在google sheets中获得授权,我如何才能看到我授予脚本执行的所有权限,以便撤销它们?我知道这只是当地的处决
您希望检索GAS项目允许的所有作用域。
您想撤销允许的作用域。
您希望使用谷歌应用程序脚本实现这一点。
如果我的理解是正确的,那么这个答案呢
1.检索天然气项目允许的所有范围:
当允许使用作用域时,这将反映到访问令牌中。使用此方法,您可以从访问令牌检索GAS项目允许的所有作用域。示例脚本如下所示
示例脚本:
运行脚本时,可以检索GAS项目的所有授权范围
我已经编写了这段代码,它是使用GoogleSheets中的脚本触发器函数执行的
function addToList()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s1 = ss.getSheetByName('Accts and Targets'); //source sheet name
var t1 = ss.getSheetByName('Over Time'); //target sheet name
var sour
要求:-
我试图写一个谷歌应用程序脚本发送电子邮件的基础上,他们的答案,而形式提交的差旅费。
i、 e如果表单用户选择x作为他们的城市y作为他们的每日津贴率(每天津贴),脚本应检查随附的谷歌表中的预定义值,如果用户输入的值超过分配给某个城市的值,则应向管理员发送电子邮件,以审查请求,或者向自动批准的用户发送电子邮件
我知道这可以通过if循环来实现,但是对于努力解决这个问题的编码来说,这是一个非常新的过程,任何帮助都是非常好的
function onformsubmit(e){
var
我有这个密码。它似乎不适用于setActiveSpreadsheet
var ss = SpreadsheetApp.openById('Id')
var booleanRange = SpreadsheetApp.setActiveSpreadsheet(ss).getSheetByName("Sheet1")
var booleanRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("She
我正在尝试使用下面的脚本发送电子邮件
function onChange(e)
{
sendNotification2(e);
}
function sendNotification2(e){
if(e.range.getColumn()==49 && e.value=='Yes'){
var recipients = "myemail@GMAIL.COM";
var subject = "Email Subject Line";
我是谷歌应用程序脚本的新手,我需要的是保存复选框字符串。如果复选框为true,那么我想为它保存值字符串
例如,我添加了两个复选框
邮件和女性如果我选中邮件复选框,我想保存邮件字符串,而不是它是真是假
这是我的密码
// Save Data
function submitData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("D
我在Google Sheets中构建了3个“应用程序”,它们都使用各种脚本重置数据并将数据保存到其他地方。每个工作表与2或3个脚本关联。然而,在Scripts文件夹中,我看到了大量的脚本。我希望将它们组织在每个应用程序的文件夹中。是否有这样做的方法?无法在的仪表板页面中组织脚本。但是,您也可以从中访问它们。在驱动器中,您可以创建文件夹和组织脚本,它们仍然可以访问
您还可以从应用程序脚本的仪表板页面提交功能请求,该页面位于发送反馈选项的?按钮。我发现了一些关键问题:
可以从驱动器访问独立脚本
(
这是我的问题:
我下面的代码不工作,因为行:current.uncheck()
日志会说:“在筛选出行的范围内不支持此操作。”
但是这张表不应该包含过滤器,我也尝试移除潜在的过滤器,但没有成功
if(current.isChecked()) // If the check box is checked
{
// I put some data in a array :
var arraySupport = rangeColumnToArray(ss.getSheetByName(&quo
当单元格具有相同的值时,如何合并列中的单元格
脚本1:合并列B中的单元格:B仅合并Ver/Hor=center/center
脚本2:合并B:B列和E:E列中的单元格Ver/Hor=center/center
关于,我相信你的目标如下
当相同的值在列方向上连续存在时,您希望将单元格合并到B列和E列的垂直方向。下面的示例图像来自您的问题
您希望使用谷歌应用程序脚本实现这一点
在本例中,我想提出以下示例脚本
示例脚本:
在使用此脚本之前,请设置columns和sheetName的变量。下面的示例脚本
我在公司的Google Workspace帐户中执行脚本时遇到问题
我是开发人员,我在使用我的帐户执行任何脚本时都没有问题;我所有的脚本一直运行到最后
现在,有一个脚本,通过这个脚本,我在侧边栏中为用户提供一个表单,让他/她输入一些数据,然后我用这些数据做一些事情。如前所述,对我来说没有问题。然而,当我试图以公司的另一个人的身份运行它时(这不仅仅是另一个编辑器,而是该公司Google Workspace的superadmin帐户),在初始脚本权限授予对话完成并完成后,脚本只运行了一半就挂起了。它
我正在使用一种解决方案来复制图纸,同时保持保护。我已经添加了带有名称表的GoogleSheetsAPI-V4
然而,它抛出了错误-
GoogleJsonResponseException: API call to sheets.spreadsheets.batchUpdate failed with error: Invalid requests[0].addProtectedRange: The range you're trying to exclude must be within &qu
我对这个google sheet宏有一个问题。错误消息为:异常:未找到范围
我试图执行此脚本以复制收件人字符串(可以根据P2单元格中的数据进行更改)。
你能帮我吗
谢谢
function macro()
{
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("A2:L1000");
var data = dataRange.getValues();
1 2 3 4 5 6 ...
下一页 最后一页 共 363 页