私はRange.copyValuesToRange(sheet, column, columnEnd, row, rowEnd)とRange.setValues(values)ではなくて別のスプレッドシートから値の範囲をコピーすることができる午前:copyValuesToRange()でスプレッドシート間の範囲をコピーできないのはなぜですか?
function test()
{
var sourceSheet = SpreadsheetApp.getActiveSheet();
var sourceCols = sourceSheet.getRange("A1:B10");
// Copying the first two columns this way works.
var sheet1 = SpreadsheetApp.create("New Spreadsheet 1").getActiveSheet();
sheet1.getRange("A1:B10").setValues(sourceCols.getValues());
// Copying the first two columns this way does not work.
var sheet2 = SpreadsheetApp.create("New Spreadsheet 2").getActiveSheet();
sourceCols.copyValuesToRange(sheet2, 1, 2, 1, 10);
}
具体的には、コードを実行した後、New Spreadsheet 1
は、範囲A1は含まれていますソーススプレッドシートのB10、New Spreadsheet 2
ながら、空です。両方とも "Sheet1"という名前の単一のシートを持っています。ソーススプレッドシートは変更されていません。
私は間違っていますか?失敗したメソッドが単一のスプレッドシート内でしか機能しないのかどうかは疑問ですが、そのことに関するドキュメントには何も表示されません。
私がRange.copyValuesToRange()を使用したい理由は、Range.copyFormatToRange()でフォーマットをコピーすることもできます。
これはあなたに役立つでしょうか? [http://stackoverflow.com/questions/16044580/copy-a-complete-list-on-one-spreadsheet-to-append-on-the-bottom-of-another-sprea](http://stackoverflow。 com/questions/16044580/copy-a-complete-list-on-one-spreadsheet-to-the-another-sprea) – Tanaike
ありがとう@Tanaike、しかし私はすでにその技術を知っています。 –
すみません、ごめんなさい。 – Tanaike