在Google Sheets中,可以使用Apps Script编写脚本来自动填写表单并将数据记录在其他工作表选项卡中。
以下是一个简单的示例代码,用于创建一个名为“数据表单”的表单,并将提交的数据记录在名为“数据记录”的工作表选项卡中:
function onOpen() {
var ss = SpreadsheetApp.getActive();
var menuEntries = [
{name: '打开数据表单', functionName: 'openForm'}
];
ss.addMenu('自定义菜单', menuEntries);
}
function openForm() {
var form = FormApp.create('数据表单')
.setTitle('数据表单')
.setDescription('请填写以下信息')
.addTextItem()
.setTitle('名称')
.setRequired(true)
.addParagraphTextItem()
.setTitle('描述')
.setRequired(true)
.addDateItem()
.setTitle('日期')
.setRequired(true)
.addTimeItem()
.setTitle('时间')
.setRequired(true)
.addMultipleChoiceItem()
.setTitle('选项')
.setChoices([
FormApp.createChoice('选项1', true),
FormApp.createChoice('选项2', false),
FormApp.createChoice('选项3', false)
])
.setRequired(true)
.setHelpText('请选择一个选项');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.insertSheet('数据记录');
var formUrl = form.getPublishedUrl();
var formId = form.getId();
var sheetId = sheet.getSheetId();
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
form.addEditor(Session.getActiveUser().getEmail());
sheet.addEditor(Session.getActiveUser().getEmail());
ScriptApp.newTrigger('onFormSubmit')
.forForm(form)
.onFormSubmit()
.create();
Browser.msgBox('数据表单已创建,请通过以下链接进行访问:\n' + formUrl);