次のような形式を変更するスクリプトを作成しまし12.4/12/12.03
た12:40:00/12:00:00/12:03:00
。コードは次のとおりです。
function myFunction() {
var sheet=SpreadsheetApp.getActiveSheet();
var rows= sheet.getDataRange();
var numRows=rows.getNumRows();
var values=rows.getValues()
var column = [];
var p = 0;
var k = "H";
for (var i=0;i<numRows;i++) {
// var cell =
//Split the string a the .
var string = values[i][7].split(".");
string[0] = string[0].toString();
p = i+1;
k = "H"+p;
var cell = sheet.getRange(k);
if(string[1]){
string[1] = string[1].toString();
// if the second part is like 4 in 12.4 you set it to 40
if(string[1]!=0) {
if (string[1].length == 1 )
{ string[1] += "0";}
}
// Set the row value to the format you like, here : 12:40:00/12:40
var changed_format = string[0] + ":" + string[1] + ":00";
values[i][7]=changed_format;
p = i+1;
k = "H"+p;
cell.setValue(changed_format);
}
else {
var changed_format = values[i][7]+":00:00";
cell.setValue(changed_format);
}
}
上記のコードでは、列について言及しました...つまり、各列に対してこのスクリプトを実行する必要があります...毎回...例: values[i][7]
k="H"+p
for 8th column
. それで、誰でも方法を教えてもらえますか...一度に...そして可能であれば私のコードを減らしてください..(最適化)..そしてまた..このようにすることが可能ですか:私が選択した場合スプレッドシートの列と、スクリプトによって行われた変更がその選択された領域に適用されます...つまり、スクリプトで選択された領域を入力として取得したいのですが...それは可能ですか..どうすれば.?