2016-04-11 33 views
2

Google Apps Scriptではスプレッドシートに行が追加されます。この行が追加されると、値「0102」の文字列を挿入しようとしていますが、挿入すると数字102に変換されます。これらのタイプをフォーマットしないGoogle Apps Scriptで値をシートに挿入する方法はありますか数字を整数に変換しますが、文字列として残りますか?シートに文字列を挿入すると数字が挿入されます

答えて

2

値を設定する前に、プレーンテキストとしてセルをフォーマットする必要があります。 this answerから(一見文書化されていない)トリックはsetNumberFormat('@[email protected]')です。たとえば、

sheet.getRange("A1").setNumberFormat('@[email protected]').setValue('0102'); 

は、セルA1をプレーンテキストとしてフォーマットし、値「0102」を設定します。この値は文字列のままです。

残念ながら、appendRowは、行を追加して値を挿入するアトミック操作であり、書式設定の余地がありません。だから、より冗長なもの、例えば

sheet.insertRowAfter(sheet.getLastRow()); 
var range = sheet.getRange(sheet.getLastRow() + 1, 1, 1, 3); 
range.setNumberFormats([['', '', '@[email protected]']]).setValues([['Boston', 'MA', '02201']]); 

このコードが必要になります行を追加し、ボストンMA 02201でそれの最初の3つのセルを塗りつぶし、文字列としてZIPコード02201を保ちます。

+0

ありがとうございました! – Matthew

関連する問題