【发布时间】:2019-01-17 16:23:17
【问题描述】:
简单的工作表脚本缺乏由共享用户运行的权限
我有一个用于为测验评分的简单电子表格。每个测验团队(在不同的位置)都有自己的副本,我已在我的帐户中设置并与他们共享。当电子表格开始允许用户轻松排序分数时,它会运行一个小脚本。对我来说工作正常,但共享用户收到“您无权执行该操作。请请求此项目的所有者授予您访问权限。” 为可能是一个非常基本的问题道歉。我是这个东西的真正新手,我试图做我需要做的事情,但完全失败了! 欢迎任何建议
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
Browser.msgBox("Starting scoresheet setup");
// Hide working columns
var sheet = ss.getSheets()[0];
sheet.hideColumns(26, 2);
var menuEntries = [
{name: "Sort Scores Hi-Lo", functionName: "HiLo"},
{name: "Sort Tables A-Z", functionName: "AZ"}];
ss.addMenu("Sort Scores", menuEntries);
Browser.msgBox("'Sort Scores' now set up in Menu, above");
Browser.msgBox("Scoresheet setup complete");
}
function HiLo() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var teams2 = ss.getRange("Z2").getValue()
var range = ss.getActiveSheet().getRange(9, 1, teams2, 26); //
Sort area A9 - X20;
//Browser.msgBox("Scoresheet sorted with highest score at the top");
range.sort({column: 22, ascending: false});
// Sort descending by column A
Browser.msgBox("Scoresheet sorted with highest score at the top");
}
function AZ() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var teams2 = ss.getRange("Z2").getValue();
var range = ss.getActiveSheet().getRange(9, 1, teams2, 26);
// Sort area A9 - X20;
//Browser.msgBox("Table sort");
range.sort({column:1, ascending: true});
// Sort descending by column A
Browser.msgBox("Scoresheet sorted into Table order A to Z");
}
【问题讨论】:
标签: google-sheets permissions shared