0

1つのシートから範囲を取得し、その範囲に文字列と文字列を追加して新しいシートに新しい行を作成しようとしています。新しいシートの新しい行には文字列、次に行が必要です。私はおそらく私は配列でこれを行うことができますが、その動作しません。行を取得し、行とテキスト文字列を1つの新しい行に結合する

 //tradeName is the name of the source file. The code is super long so i did not include it in this snippet.  

     var fileList = DriveApp.getFilesByName(tradeName); 
     var fileId = fileList.next().getId(); 
     var sheetCurrent = SpreadsheetApp.getActiveSheet(); 
     var source = SpreadsheetApp.openById(fileId); 
     var source_range = source.getRange("A20:AE20"); 

     sheetCurrent.appendRow([tradeName,A20:AE20]); 

答えて

1

範囲と文字列値を混在させることはできません。 あなたが気づいたように、appendRowの引数は配列でなければなりません。正しい方法は配列に文字列を追加することです。の前に新しい行を追加します。 一方、行の値を取得するときは、配列の配列(2次元配列)を取得するので、内部配列のみを取り、unshiftメソッドを使用して他の要素の前に要素を追加する必要があります。

コードは、このようなことができます助けを

function myFunction() { 
    var string = " ccccxxxx"; 
    var sheetCurrent = SpreadsheetApp.getActiveSheet(); 
    var source = SpreadsheetApp.openById(fileId); 
    var source_range = source.getRange("A20:AE20"); 
    var source_rangeValue = source_range.getValues(); // 2D ARRAY 
    source_rangeValue[0].unshift(string);//add the string to the inner array 
    sheetCurrent.appendRow(source_rangeValue[0]); 
} 
+0

本当にありがとうございました。文字列と範囲を混在させることはできません。 –

関連する問題