小编jjo*_*312的帖子

Google Apps脚本 - 根据单元格值查找行号

我正在寻找一些帮助,找到包含特定值的单元格的行号.

电子表格包含多个行和列的大量数据.我正在遍历.getDataRange并且可以找到包含我正在寻找的值的单元格.一旦找到,我想知道他的单元格所在的行,这样我就可以进一步获取额外的单元格值,因为我确切地知道有多少行和/或其他信息的列来自找到的单元格.

以下是查找包含特定字符串的单元格的一些代码.

function findCell() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var dataRange = sheet.getDataRange();
  var values = dataRange.getValues();

  for (var i = 0; i < values.length; i++) {
    var row = "";
    for (var j = 0; j < values[i].length; j++) {     
      if (values[i][j] == "User") {
        row = values[i][j+1];
        Logger.log(row);
      }
    }    
  }  
}
Run Code Online (Sandbox Code Playgroud)

输出时,Logger.log(row)它给出了我正在寻找的值.我想确定每个值在哪一行,因此我可以在X行数和X列上下载以获取其他单元格的内容.

google-apps-script

7
推荐指数
4
解决办法
3万
查看次数

Google Apps脚本-根据单元格中的日期发送电子邮件

我环顾四周,有零散的东西,但不能解决这个难题。我正在尝试创建一个脚本,该脚本将在配置为每天运行的触发器上运行。触发器将在编辑器的“资源”选项下设置。

基本上,我正在寻找脚本以捕获一定范围的单元格,确定到期日期,该日期将填充在列中,并将其与当前日期匹配。如果匹配,则发送电子邮件。我首先从Google的电子表格教程中发送电子邮件开始。我添加了一个if语句来检查日期,但是在与dataRange的比较中我丢失了它。任何人都可以帮助纠正这些问题或为我指明研究方向。

该脚本似乎可以运行,但没有任何反应,我相信这是因为“ if(currentTime == dataRange)” dataRange匹配不正确吗?

这是代码:

function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;  // First row of data to process
var numRows = 50;   // Number of rows to process
// Fetch the range of cells
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
// Fetch values for each row in the Range.
var data = dataRange.getValues();   
//Get todays date     
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate(); …
Run Code Online (Sandbox Code Playgroud)

javascript google-sheets google-apps-script

5
推荐指数
1
解决办法
3万
查看次数

Google Apps 脚本 - 读取电子表格数据、循环并将数据写回

我正在寻找一些帮助,以按行循环遍历电子表格中的一组数据,然后将第一个单元格中的值写入新工作表,然后将各行中的每个单元格值写入。

这是一组示例数据的链接。 样本数据

上述电子表格中的 Sheet1 显示了原始数据。我想读取该数据并将其写入第二张 (2),以便它看起来像上述链接的第二张上的内容。

这是我当前的代码,但它将所有数据写入单个列。

function myfunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var sheet2 = 
      SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2');
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++)  {
    for (var j = 0; j < data[i].length; j++) {
      var iava_value = (data[i][0]);
      var lastRow = sheet2.getLastRow();           
      sheet2.getRange(lastRow +1, +1).setValue(data[i][j]);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

google-apps-script

4
推荐指数
1
解决办法
2万
查看次数

对字段和FileUpload进行表单验证

我希望做有文字输入和窗体上的验证/必填字段文件上传文件附件.

该脚本接受输入并允许用户附加文件.提交后,它会将输入字段添加到电子表格并将文件上传到我的驱动器.我想要做的是强制文本输入和下拉列表来回答并需要文件附件.

我发现此链接的示例"示例验证"但我在尝试将其添加到我的代码中的单击处理程序时遇到问题.任何人都可以帮助指出正确的方向吗?

// Script-as-app template.
var submissionSSKey = 'Insert SS Key';

function doGet(e) {
  var app = UiApp.createApplication().setTitle('Loan Registration Processing');
  var panel = app.createFormPanel();
  var grid = app.createGrid(10,2).setId('loanGrid');
  var loanTypeLabel = app.createLabel('Loan Type');
  var loanList = app.createListBox().setName('Loan List').setWidth('120px').setName('LoanType');
      loanList.addItem('Select Option');    
      loanList.addItem('FHA');
      loanList.addItem('Convential');  
      loanList.addItem('VA');
      loanList.addItem('Reverse');
      loanList.addItem('HELOC');
  var borrowerNameLabel = app.createLabel("Borrower's Name");
  var borrowerTextbox = app.createTextBox().setWidth('150px').setName('borrower');
  var loanAmountLabel = app.createLabel('Loan Amount');
  var loanAmountTextbox = app.createTextBox().setWidth('150px').setName('amount');
  var appDateLabel = app.createLabel('Loan Date');
  var appDateTextbox = app.createDateBox().setWidth('150px').setName('date');
  var lienPostition = …
Run Code Online (Sandbox Code Playgroud)

google-apps google-apps-script

3
推荐指数
1
解决办法
7972
查看次数

独特的ID计数器

在过去的几天里,我发布了一些关于我正在开发的Google Apps脚本Web应用程序的问题.到目前为止,Serge在这里一直非常有帮助.该剧本的帖子就在这里.

我希望在该脚本中添加一列来生成uniqueID计数器,这样当提交新表单时,计数器将看到先前的唯一ID并增加1.想法将是带有标题行的空白电子表格.脚本在表单提交上运行,参见A2为空白并插入1.下一个提交的表格将在A2中看到2添加1并在A3中添加3,依此类推.

现在我正在研究计数器加1对单元格中的数字.我知道,当我开发这篇文章时,我需要抓住最后一行,然后找到单元格值并添加,但是因为我是GAS的新手,我正在自学,所以我想要慢慢地建立嗯,你明白了.

这是一个基本的开始,我想得到一些反馈,如果这是一个正确的方向开始..

function counter() {
   //Grabs the range and pinpoint cell
   var ssRange = SpreadsheetApp.getActiveSheet().getRange(1,1,1,1);
   //Grab the cell value of A1
   var value = ssRange.getValue();
   //if statement to check value in A1 and if it is null, undefined, false, 0, NAN
if (!value) {
  //if the cell is null, undefined, false, 0, NAN sets value to 1
   var setCell = ssRange.setValue(1);
}
  //if not updates the cell by getting the value and adding 1 to …
Run Code Online (Sandbox Code Playgroud)

javascript google-apps google-sheets google-apps-script

2
推荐指数
1
解决办法
6507
查看次数

Google Apps脚本创建包含文件上传的表单

我正在创建一个基本表单,通过文本框和下拉列表获取用户输入,提交后将登录电子表格.到目前为止这个工作正常.我想要添加到表单中的是"文件上传"功能,允许某人选择文件,并在提交表单时上传文件,因为文本框中的数据值和下拉列表都会记录到电子表格中.我查看了以下链接https://developers.google.com/apps-script/class_fileupload但我很难将示例插入/添加到现有的doGet功能中..任何人都可以提供帮助或提供建议吗?这是目前为止的Google App Script代码.

*使用以下链接作为表格的基础:https: //sites.google.com/site/appsscripttutorial/advanced-examples/insert-data-in-sheet-using-ui-forms

// Script-as-app template.
 var submissionSSKey = 'Spreadsheet Key goes Here';

 function doGet() {
   var app = UiApp.createApplication().setTitle('Loan Registration Processing');
   var panel = app.createVerticalPanel();
   var grid = app.createGrid(8,2).setId('loanGrid');
   var loanTypeLabel = app.createLabel('Loan Type');
   var loanList = app.createListBox().setName('Loan List').setWidth('120px').setName('LoanType');
   loanList.addItem('Select Option');    
   loanList.addItem('FHA');
  loanList.addItem('Convential');  
  loanList.addItem('VA');
  loanList.addItem('Reverse');
  loanList.addItem('HELOC');
   var borrowerNameLabel = app.createLabel("Borrower's Name");
   var borrowerTextbox = app.createTextBox().setWidth('150px').setName('borrower');
   var loanAmountLabel = app.createLabel('Loan Amount');
   var loanAmountTextbox = app.createTextBox().setWidth('150px').setName('amount');
   var appDateLabel = app.createLabel('Loan Date');
   var appDateTextbox = …
Run Code Online (Sandbox Code Playgroud)

javascript google-apps google-apps-script

1
推荐指数
1
解决办法
2万
查看次数