我已经创建了一份大学试卷,并将通过谷歌电子表格进行评估输入。 工作表已经在只读模式下共享,链接将在指定的时间间隔访问,在这里写入模式。 我已经编写了一个函数来实现这一点,如下所示。
出于测试目的,我已经创建并执行了今天,但它无法正常工作,您是否可以提供一些指导方针来纠正我的代码,为什么它没有运行。
function getSheetName(index)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
//var allSheets = ss.getSheets();
var allSheetN
ames = new Array();
var currentdate = new Date();
var currentTime = d.toLocaleTimeString(); // "12:35 PM"
//may'15, will access in write mode between 3:00 to 5:00 PM
if (currentdate = "2014-05-09" & currentTime >= "3:00 PM" & currentTime <= "5:00 PM"){
ss.addEditor(pro_sjhot@gmail.com);
}
else if (currentTime < "3:00 PM" & currentTime > "5:00 PM") // for rest of the day it will show in read only mode
{
ss.removeEditor(pro_sjhot@gmail.com);
ss.addViewer(pro_sjhot@gmail.com);
}
}
答案 0 :(得分:0)
我不熟悉谷歌应用程序脚本,但乍一看我不确定这是否有效:
if(currentdate =“2014-05-09”&amp; currentTime&gt; =“3:00 PM”&amp; currentTime&lt; =“5:00 PM”)
您的变量currentdate Date(),而在代码中,您希望它表现为字符串(我在您的代码中看不到任何转换)。另外,请确保您的currentTime确实以 12h 格式返回值,而不是 24h 格式。
希望有所帮助
最后:来自C#区域,您不需要在代码中使用双&amp;&amp; 吗?我的意思是如果代码不应该是这样的:
if(currentdate =“2014-05-09”&amp;&amp; currentTime&gt; =“3:00 PM”&amp;&amp; currentTime&lt; =“5:00 PM”)
答案 1 :(得分:0)
您的方法需要您在某个时刻以所有者的身份实际运行它。您可以使用触发器为您执行此操作。您可以设置触发器,以便在特定时间运行所需的功能。
https://developers.google.com/apps-script/understanding_triggers
因此,编写一个可以更改所需权限的函数。然后设置时基触发器来运行它。确保至少运行一次该函数,因此确保所有者具有在触发时运行该函数的正确权限。如果您不这样做,Google会提示您并允许您进行授权。