2017-09-19 29 views
1

我已经将脚本添加到几张工作表中。但是,如果我只想在一张表中添加信息,它不起作用。我应该在这个脚本中改变什么?这是链接到我前面的话题:enter link description here将数据插入到工作表/工作表并发送电子邮件

<b>test 1.1</b><br /> 
 
    
 
<br> 
 
    <form> 
 
    <br> 
 
    Nr item:<br> 
 
    <input id="NrItem" name="NrItem" type="text" /> 
 
<br> 
 

 
<br> 
 
<input name="choices" type="checkbox" value="Sheet1" /> sheet1 
 
<br> 
 
<br> 
 
<input name="choices" type="checkbox" value="Sheet2" /> sheet2 
 
<br> 
 
<br> 
 
<input name="choices" type="checkbox" value="Sheet3" /> sheet3 
 
<br> 
 

 
    <br> 
 
<br> 
 
    <input onclick="formSubmit()" type="button" value="Add Row" /> 
 
    
 
    <input onclick="google.script.host.close()" type="button" value="Exit" /> 
 
    </form> 
 
    <script type="text/javascript"> 
 
     function formSubmit() { 
 
      google.script.run.getValuesFromForm(document.forms[0]); 
 
      
 
     } 
 
    </script>

function demoHtmlServices() { 
 
    var ss = SpreadsheetApp.getActiveSpreadsheet(), 
 
     html = HtmlService.createHtmlOutputFromFile('Index').setWidth(200).setHeight(550); 
 
    ss.show(html); 
 
} 
 

 

 
function getValuesFromForm(form){ 
 
var NrItem = form.NrItem, 
 
    date = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"); 
 
     sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 
 
for (var i in sheets) { 
 
    for (var j in form.choices) { 
 
    if (form.choices[j] == sheets[i].getName()) { 
 
     sheets[i].appendRow([date, NrItem]); 
 
    } 
 
    } 
 
} 
 
}

而且我还有一个问题这一点,我怎么能发送电子邮件信息中插入表格?当我有关于“Nr项目”和“工作表编号”的信息时,我想发送关于信息的电子邮件“Nr项目”,并在表格中插入信息。

enter image description here

问候

+0

发布你的代码,你有什么尝试? –

+0

也请给予比“不起作用”更详细的描述 –

回答

0

尽量选择纸张,而不是遍历所有。例如:

function getValuesFromForm(form){ 
var NrItem = form.NrItem; 
var date = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"); 
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; // Added [0] but you could select any sheet 
//removed this line: for (var i in sheets) { 
    for (var j in form.choices) { 
    if (form.choices[j] == sheets.getName()) { // removed the [i] 
     sheets.appendRow([date, NrItem]); // removed the [i] 
    } 
    } 
//removed this line: } 
} 

相反的.getSheets()[0],你也可以使用.getSheetByName(name)。 让我知道它是否适合你!

相关问题