Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 将值从一个电子表格转移到另一个电子表格_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 将值从一个电子表格转移到另一个电子表格

Google apps script 将值从一个电子表格转移到另一个电子表格,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图创建一个电子表格,可以让用户输入多达100行的信息,当他们点击提交按钮脚本将进入主数据电子表格的数据 我已经编写了脚本,可以工作并将数据传输到主数据表,我正在使用openbyID打开目标数据表 问题在于,如果用户无法访问主数据表,则无法打开该表以添加数据。如果有一种方法可以在不访问电子表格的情况下将数据添加到电子表格中,这将非常适合我的需要 如果可能的话,请告诉我 我现在再次使用OpenByID打开电子表格,并希望允许用户在不直接访问电子表格的情况下向主电子表格添加数据 非常感谢您的帮助

我试图创建一个电子表格,可以让用户输入多达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)
}
函数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=新日期(); var ss=SpreadsheetApp.getActiveSpreadsheet(); var tt=电子表格应用程序openById(tt_键); var ss_sheet=ss.getSheetByName(“报告”); var tt_sheet=tt.getSheetByName(“主数据表”); var FilledBy=ss_sheet.getRange(“C5”).getValue(); var tt_last_row=tt_sheet.getLastRow(); var tt_work_row=tt_last_row+1;
对于(var i=1;i您可以创建一个脚本作为web应用程序,该应用程序可以访问Google文档和电子表格。如果您这样做,您可以设置脚本的权限,以便运行脚本的用户拥有您的权限,而不是他们自己的权限。如果您可以访问主电子表格,则您的脚本不会,但您的用户不会


详细信息在上。向下查看页面以获得权限和Web应用程序保护一两个工作表?-您可以保护工作表,因此某些工作表可以编辑,而其他工作表则不能。您可以控制谁可以编辑哪些工作表…也可以使用数据库公式来获取数据。这比编写代码要省力。因为所有edi都有历史记录ts,您可以使用此功能查看对工作表所做的所有更改。

我已经添加了代码,您可以帮助我指导如何创建Web应用程序吗..我对谷歌脚本一点都不熟悉..谢谢,我不打算为您重写脚本。我给您的链接指向谷歌网站上的相关页面,应该可以帮助您开始。如果您没有我想给你一个例子,我想给你一个例子,我的代码是什么,需要指导我是否能够修改我编写的代码来作为数据传输的WebApp,或者它将完全不同。你给出的链接指向解释Web应用程序的参数但不是真的页面。解释webapps如何工作以及如何开始编写。感谢您的回答。我正在将值从多页插入到一页,不能让不同的用户看到其他人输入的信息。这都是机密数据…祝您好运。答案在文档中,即Google Apps脚本和JavaScript文档中这更像是你付钱给程序员去解决的事情。