2

Sheet.CopyTo を使用してセルの範囲をあるシートから別のシートにコピーすると、「貼り付けが結合されたセルと重なっています。セルの結合を解除して、もう一度やり直してください。」というエラーが表示されます。貼り付けている範囲には結合セルが含まれていますが、貼り付け先の範囲は結合されていない完全に空白のシートにあります。ソース範囲がセルを結合しているその他の場合、copyTo は正常に機能します。UI から同じ貼り付けを行うと、問題なく動作します。

これが私のコードです:

function test()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var src = ss.getSheetByName('Src');
  var srcRange = src.getRange('F2:W2');
  var dst = ss.getSheetByName('Dst');
  var dstRange = dst.getRange('F2');
  srcRange.copyTo(dstRange);
}

スプレッドシートの公開バージョンは次の場所にあります。

https://docs.google.com/spreadsheet/ccc?key=0AmjukMc-vZIEdEtyYk53VlpWMEV3Y0l5THQ1OFBJSUE

4

1 に答える 1

1

問題は、コピー先のシートに、コピーされるデータに合わせて十分な列がなかったことです。UI から貼り付けを使用すると、新しい列が自動的に追加されますが、copyTo では、copyTo の前に insertColumns を使用して自分で行う必要があります。エラー メッセージは非常に誤解を招くものです。

于 2012-07-11T06:20:15.063 に答える