我試圖創建一個電子表格,可以允許用戶輸入多達100行的信息,當他們單擊提交按鈕時,腳本會將該數據輸入到主數據電子表格中。從一個電子表格向另一個電子表格傳輸價值
我已經編寫了腳本,可以將數據傳輸到主數據表,並且我使用openbyID打開目標表。
問題是,如果沒有訪問主數據表用戶無法打開工作表來添加數據。如果有辦法將數據添加到電子表格而無法訪問該電子表格,那麼這對我的需求來說是理想的。
請讓我知道這是否可能。
我再次使用OpenByID打開電子表格,並希望允許用戶將數據添加到主電子表格,而無需直接訪問電子表格。
幫助將不勝感激。
如果您有任何問題,請讓我知道。
謝謝 霍哈爾
我的代碼:
Sorry I am not sure how to write my script as web app.
請參閱下面我的腳本..你可以請幫我解釋一下如何改變它爲Web應用程序的工作?
謝謝
function CopyDataToMaster() {
var inf = SpreadsheetApp.getActiveSpreadsheet();
var inf_sheet = inf.getSheetByName("Info");
var tt_key = inf_sheet.getRange("A4").getValue();
var SiteName = inf_sheet.getRange("A2").getValue();
var d = new Date();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var tt = SpreadsheetApp.openById(tt_key);
var ss_sheet = ss.getSheetByName("Report");
var tt_sheet = tt.getSheetByName("Master-Data-Sheet");
var FilledBy = ss_sheet.getRange("C5").getValue();
var tt_last_row = tt_sheet.getLastRow();
var tt_work_row = tt_last_row+1;
for (var i=1; i<=100 ; i++) {
var dDr = ss_sheet.getRange(i+10, 2);
var dD = dDr.getValue();
if (dD!="") {
var nMr = ss_sheet.getRange(i+10, 3);
var nM = nMr.getValue();
var aMr = ss_sheet.getRange(i+10, 4);
var aM = aMr.getValue();
var bWr = ss_sheet.getRange(i+10, 5);
var bW = bWr.getValue();
var bSr = ss_sheet.getRange(i+10, 6);
var bS = bSr.getValue();
var tDr = ss_sheet.getRange(i+10, 7);
var tD = tDr.getValue();
var mOr = ss_sheet.getRange(i+10, 8);
var mO = mOr.getValue();
var bOr = ss_sheet.getRange(i+10, 9);
var bO = bOr.getValue();
var dCr = ss_sheet.getRange(i+10, 10);
var dC = dCr.getValue();
tt_sheet.insertRowAfter(tt_work_row-1);
tt_sheet.getRange(tt_work_row,1).setValue(Utilities.formatDate(new Date(),+5.5, "MM/dd/yyyy HH:mm:ss"));
tt_sheet.getRange(tt_work_row,2).setValue(SiteName);
tt_sheet.getRange(tt_work_row,3).setValue(FilledBy);
tt_sheet.getRange(tt_work_row,4).setValue(dD);
tt_sheet.getRange(tt_work_row,5).setValue(nM);
tt_sheet.getRange(tt_work_row,6).setValue(aM);
tt_sheet.getRange(tt_work_row,7).setValue(bW);
tt_sheet.getRange(tt_work_row,8).setValue(bS);
tt_sheet.getRange(tt_work_row,9).setValue(tD);
tt_sheet.getRange(tt_work_row,10).setValue(mO);
tt_sheet.getRange(tt_work_row,11).setValue(bO);
tt_sheet.getRange(tt_work_row,12).setValue(dC);
dDr.clearContent();
nMr.clearContent();
aMr.clearContent();
bWr.clearContent();
bSr.clearContent();
tDr.clearContent();
mOr.clearContent();
bOr.clearContent();
dCr.clearContent();
tt_work_row = tt_work_row+1;
}
}
Browser.msgBox("Thank you", "Information has been submitted",Browser.Buttons.OK)
}
祝你好運。答案在文檔中,例如Google-Apps-Script和JavaScript文檔。 ...這更多的是你要付給程序員解決的東西。 – eddyparkinson