2017-04-22 11 views
0

私は別のシートからの行を追加していますし、ソースシートのような日付フォーマットた:対象シートに追加するとSat, Apr 29, 2017のGoogleスプレッドシートのスクリプト:プレーンテキストの行を追加

、それは4/29/2017形式に変更します。 追加しているので、追加する前にセルフォーマットを設定することはできません。

とにかく、シート全体を常にプレーンテキストに設定できますか?または何らかの形でソースのような書式を維持し、値を解釈しないように強制しますか?

私はAPPENDのために使用していますコマンドは次のとおりです。

targetSheet.appendRow(row); 
+2

なぜセルフォーマットを設定できませんか? 'range.setNumberFormat(" @ ");'は "プレーンテキスト"に設定するべきです。 – SpiderPig

+0

@ SpiderPig追加しようとしている行がまだ範囲内にないためです。 – apadana

+0

ソースシートからフォーマットをコピーするには、おそらく 'Range.copyFormatToRange'が必要です。 – SpiderPig

答えて

0

1つのオプションは、行を追加して、フォーマットをクリアすることです。

function appendInPlainText() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    sheet.appendRow(["dummy", "data"]); 
    sheet.getRange(sheet.getLastRow(), 1, 1, sheet.getLastColumn()).clearFormat(); 
    SpreadsheetApp.flush(); 
} 
+0

数値書式ではなく、テキスト書式のみをクリアします。数値書式をクリアしても元の書式は復元されません。 – Tharkon

1

これはクリーンな解決策ではないかもしれませんが、私自身も見ていますが、これは回避策になる可能性があります。

アポストロフィまたは日付の一部として認識されない別の記号を先頭に付けます。これにより、スプレッドシートは強制的にテキストとして解釈します。

関連する問題