2017-11-04 8 views
0

行(Googleシート)の「メールされました」フィールドに「はい」がない場合、電子メールのための小さなスクリプトを書いています。それは正常に動作しますが、私はデータの行から書式設定されたテキストで電子メールを強化したい。配列の分解

この変数のデータを電子メールで使用するために複数の変数に分割するのに役立つ必要があります。

var rangeSelect = auxSheet2.getRange(i, 1, 1, auxSheet2.getLastColumn()).getValues(); 

ログ出力が正確であるとこのようになります...

[17-11-04 12:49:38:534 PDT] [[Tue Oct 03 00:00:00 GMT-05:00 2017, Captain, America, Engineering, 573-555-5555, [email protected], Equipment, Yes, We have two old 19" VGA monitors, , Test Submission 1, Yes]] 

これはコードです:

function moveAfter() { 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var auxSheet2 = ss.getSheetByName("Auxiliary"); 
    var lastColumn = auxSheet2.getLastColumn(); 

    for (var i = auxSheet2.getLastRow(); i > 1; i--) { 

      var yesMailed = auxSheet2.getRange(i, 12).getValue(); 
      if (yesMailed != "Yes") { 
        var targetCell = auxSheet2.getRange(i, 12); 
        targetCell.setValue("Yes") 

        var rangeSelect = auxSheet2.getRange(i, 1, 1, auxSheet2.getLastColumn()).getValues(); 
        Logger.log(rangeSelect) 

        var recipients = "[email protected]"; 
        var message = 'This is a test '; 
        var subject = 'New item for the Auxiliary Annual Garage Sale'; 
        var body = message + ' Visit ' + ss.getUrl() + ' to view the changes'; 
        MailApp.sendEmail(recipients, subject, body); 
      } 
    } 
} 

は、任意の助けてくれてありがとう。

答えて

1

getValuesメソッドは、値の2次元配列(行、列)を返します。

1つの行を引っ張っているので、getValues配列の最初の(そして唯一の)エントリに興味があり、位置に応じてその行の番号付きインデックスに興味があります。例:

var rangeRows = auxSheet2.getRange(i, 1, 1, auxSheet2.getLastColumn()).getValues(); 
var row = rangeRows[0]; 
// get a single element 
var myEmail = row[5]; 
// make a string out of a couple of elements of row 
var sometext = "My Fave Superhero is " + row[1] + " " + row[2]; 
// or join the whole row with commas 
var joinedRecord = row.join(","); 
+0

素晴らしい解決策です。それは素晴らしい作品です。ありがとうございました! –

関連する問題