如何解决希望在Google表格中添加一个按钮,以添加另一个相同的部分
我目前正在尝试在Google表格上创建一个成绩跟踪器,我有一个单独班级的示例。但是每个人将要上的课数可能会有所不同。因此,我想添加一个按钮,一个人可以单击该按钮以添加其他班级。我有编写Python和Google脚本的经验。
解决方法
所以您的问题措辞古怪,所以我不确定我是否理解正确。 我假设当您说并非每个人都具有相同的班级时,您的意思是有些人可能有5个课时,而另一些人可能有6个课时(例如)。当您说时,您希望能够添加新的类。我想你是说一个人可以为每个时期添加一个工作表,它们都存储在同一电子表格文件中。如果是这种情况,那么此代码将复制该工作表(在我的示例中,我将该工作表命名为“ Template”)。您只需将其添加到电子表格的脚本中即可。
function onOpen() { //THIS ADDS A BUTTON IN THE MENU BAR SO THAT PEOPLE CAN JUST CLICK THAT BUTTON INSTEAD OF RUNNING THE CODE MANUALLY
SpreadsheetApp.getUi().createMenu('Add Class')
.addItem('Add another class','cloneGoogleSheet')
.addToUi();
}
function cloneGoogleSheet() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var result = ui.prompt(
'Please enter the name for the class sheet',//ALLOWS THEM TO NAME THE NEW SHEET
'Ex: period #,class #...',ui.ButtonSet.OK_CANCEL);
var button = result.getSelectedButton();
var text = result.getResponseText();
var name = text;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Template').copyTo(ss);
/* Before cloning the sheet,delete any previous copy */
var old = ss.getSheetByName(name);
if (old) ss.deleteSheet(old); // or old.setName(new Name);
SpreadsheetApp.flush(); // Utilities.sleep(2000);
sheet.setName(name);
/* Make the new sheet active */
ss.setActiveSheet(sheet);
}
现在这么说。我不确定为什么您要使用Google应用程序脚本来完成此操作。您是否可以让其他人右键单击工作表(位于底部),然后选择重复项,然后重命名工作表?如果我正确理解了您的问题,那将是完成同一件事的一种简单得多的方法。我在下面附了一些图片。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。