我们有一个电子表格,里面有我们健身房的成员列表。我们想要加入的是一种方式,教练可以带着iPad四处走动,然后点击一个按钮来“签到”我们的成员。通常,出席的成员数量很少--每个班级可能有20-30名成员。但是,我们想要一种尝试让教练承担责任的方法,这样如果有人在3周内没有出现,我们可以通过电子邮件联系他们,询问他们去过哪里。
我已经创建了一个测试电子表格,它应该是可编辑的。我需要一些建议或编写一个脚本来执行以下操作的帮助:
我想要的是在最左边的“签到”列中每个成员姓名旁边的一个按钮,当他们出现时,我们的教练可以点击他们。这样做会将+1添加到"total check-ins“列,并用当前日期/时间戳更新"last time checked”列。
https://docs.google.com/spreadsheet/ccc?key=0AnGxNda7E77DdHZldlhQY2hZZlNJamZ6VTZ0WUhqZXc&usp=sharing
我对Google Docs中的脚本编程是全新的,所以提前感谢您提供的任何专业知识!非常感谢!
发布于 2013-12-03 08:55:10
这就是你要的
电子表格https://docs.google.com/spreadsheet/ccc?key=0AvmOEVr803HMdDE5MmZXMlQ1cnpzQ21wYkNNZ19ENXc#gid=0
脚本UI (从任何设备打开此url,如Serge said。) https://script.google.com/macros/s/AKfycbxfqII2qhtctJTO1nVyLOBZJ4KxElVh8I3fTCFUR1o5R1uOUcA/exec
代码:
function doGet() {
var ss = SpreadsheetApp.openById('0AvmOEVr803HMdDE5MmZXMlQ1cnpzQ21wYkNNZ19ENXc');
var sheet = ss.getSheetByName('members');
var members = sheet.getRange(2, 1, sheet.getLastRow()-1, 1).getValues();
Logger.log(members)
var app = UiApp.createApplication().setTitle('Gym Check In');
var grid = app.createFlexTable().setId('grid');
app.add(grid);
var row = 0;
var column = 0;
for (var m in members) {
grid.setWidget(row, 0, app.createLabel(members[m]));
grid.setWidget(row, 1, app.createButton('Check In').setId(row+2).addClickHandler(app.createServerHandler('checkIn').addCallbackElement(grid)).addClickHandler(app.createClientHandler().forEventSource().setEnabled(false)));
row++;
}
return app;
}
function checkIn(e) {
var ss = SpreadsheetApp.openById('0AvmOEVr803HMdDE5MmZXMlQ1cnpzQ21wYkNNZ19ENXc');
var sheet = ss.getSheetByName('members');
var button = e.parameter.source;
sheet.getRange(button, 2).setValue(new Date());
}
https://stackoverflow.com/questions/20314747
复制相似问题