どのように?
getValues()
を使用すると、「A2:A」のデータが取得されます。 1で取得 https://developers.google.com/apps-script/reference/spreadsheet/range#getvalues
データは'=NOW()
から=NOW()
に変換されます。
setFormulas()
を使用すると、変換されたデータは「A2:A」にインポートされます。 https://developers.google.com/apps-script/reference/spreadsheet/range#setformulasformulas
setNumberFormat()
がスクリプトに適しています。
サンプルスクリプト:
function setFormat(){
var ss = SpreadsheetApp.getActiveSheet();
var Data = ss.getRange("A2:A").getValues();
var replacedData = [[i[0].replace("'=NOW()","=NOW()")] for each (i in Data) if(i[0])];
ss.getRange(2, 1, replacedData.length, replacedData[0].length).setFormulas(replacedData);
ss.getRange("C2:C").setNumberFormat('000');
ss.getRange("D2:D").setNumberFormat('000');
ss.getRange("E2:E").setNumberFormat('000');
ss.getRange("F2:F").setNumberFormat('000');
}
私はあなたの質問を誤解している場合、私は申し訳ありません。
を追加し1:式として=NOW()
の種類は、オブジェクトが
あります。そのため、文字列として'=NOW()
のみがタイプを比較することによって式=NOW()
に変換されます。さらにデータを追加すると、追加されたデータが変換されます。
function setFormat(){
var ss = SpreadsheetApp.getActiveSheet();
var Data = ss.getRange("A2:A").getValues();
var replacedData = [typeof(i[0])=="object" ? ["=NOW()"] : [i[0].replace("'=NOW()","=NOW()")] for each (i in Data) if(i[0])];
ss.getRange(2, 1, replacedData.length, replacedData[0].length).setFormulas(replacedData);
ss.getRange("C2:C").setNumberFormat('000');
ss.getRange("D2:D").setNumberFormat('000');
ss.getRange("E2:E").setNumberFormat('000');
ss.getRange("F2:F").setNumberFormat('000');
}
追加2:
このサンプル輸入は、新しいデータがインポートされた文字列としてオブジェクトを日付。
function setFormat(){
var ss = SpreadsheetApp.getActiveSheet();
var Data = ss.getRange("A2:A").getValues();
var replacedData = [
typeof(i[0])=="object"
? [i[0]]
: [i[0].replace("=NOW()", Utilities.formatDate(
new Date(),
Session.getScriptTimeZone(),
'yyyy/M/d HH:mm:ss')
)
]
for each (i in Data) if(i[0])
];
ss.getRange(2, 1, replacedData.length, replacedData[0].length).setValues(replacedData);
ss.getRange("C2:C").setNumberFormat('000');
ss.getRange("D2:D").setNumberFormat('000');
ss.getRange("E2:E").setNumberFormat('000');
ss.getRange("F2:F").setNumberFormat('000');
}
ありがとうございます - エラーが発生しました。TypeError:プロパティ "長さ"を未定義から読み取ることができません。 (line5、file "Code") – gillers322
実際、私は問題にぶつかりました。新しいデータ行は毎時Microsftフローからインポートされます。スクリプトは、最初の行の後に停止しているので、今度はNOW()ではなく正しい日付を見つけているので、他のすべての行は更新されていません。何か案は?ありがとうございます – gillers322
データについて聞かせてもよろしいですか?私がデータを知ることができたとき、私は解決策を見つけることを試みることができます。 – Tanaike