【发布时间】:2016-03-21 07:27:49
【问题描述】:
我不是程序员,只是一个试图简化日常任务的 Google 文档用户。我制作了一些非常有用的小脚本,比如一键发送通知电子邮件给其他用户。现在有个棘手的问题不知道怎么解决,找了几天还是没有头绪。
我正在使用Google SpreadSheet。如果我点击“链接”,它应该会打开一个预先设计的 Google 表单,其中包含:WO、Name 和 Engineer 字段,由该行的数据填充。例如:Google 表单的Row 1 应在相应的表单字段中填写4478、AAAAAAAAandDavid`。用户应该能够更改它们。
谢谢大家纠正我的英语不好^^
到目前为止,我可以从调试日志中获取正确的数据。问题是当用户单击“链接”打开 Google 表单时,我不知道如何运行此功能。
function Finish() {
var sheetOpen = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Open ticket list");
var dataOpen = sheetOpen.getDataRange().getValues();
var cellOpen = sheetOpen.getActiveCell();
var currentRow = cellOpen.getRow();
var wo = sheetOpen.getRange(currentRow, 1).getValue();
var name = sheetOpen.getRange(currentRow, 3).getValue();
var omEng = sheetOpen.getRange(currentRow, 5).getValue();
// Browser.msgBox('wo = '+ wo +' and name = '+ name +' and Engineer = '+ omEng);
var form = FormApp.openById('formid');
Logger.log('Form Title is '+ form.getTitle());
var allItems = form.getItems();
Logger.log('Total items in this form '+ allItems.length)
var woId=0;
var nameId=0;
var omEngId=0;
for (i=0; i < allItems.length ; ++i) {
var itemTitle = allItems[i].getTitle();
Logger.log('Item Title '+ itemTitle);
if (itemTitle == 'wo') {
woId = allItems[i].getId();
}
}
for (i=0; i < allItems.length ; ++i) {
var itemTitle = allItems[i].getTitle();
Logger.log('Item Title '+ itemTitle);
if (itemTitle == 'name') {
nameId = allItems[i].getId();
}
}
for (i=0; i < allItems.length ; ++i) {
var itemTitle = allItems[i].getTitle();
Logger.log('Item Title '+ itemTitle);
if (itemTitle == 'Engineer') {
omEngId = allItems[i].getId();
}
}
var woItem = form.getItemById(woId).asTextItem();
woItem.createResponse(wo);
var nameItem = form.getItemById(nameId).asListItem();
nameItem.createResponse(name);
var omEngItem = form.getItemById(omEngId).asListItem();
omEngItem.createResponse(omEng);
}
【问题讨论】:
标签: google-apps-script google-sheets