前回までの流れは以下のページにまとめています:
上は、IoT温度計から送信する気温通知メールに添付するグラフですが、ちょっとわかりにくいですよね。なぜでしょう?それは、日時の表示がわかりにくいからです。
だいぶ分かりやすくなりましたね。
これをGoogle Apps Scriptでやる方法を探しました。まずは公式リファレンス。
Class Range - setNumberFormat() | Apps Script | Google Developers
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var cell = sheet.getRange("B2"); // Always show 3 decimal points cell.setNumberFormat("0.000");
うーん、近いけどちょっと違う。それで他のものを探してみると・・・
ktkr!?
var bk = SpreadsheetApp.getActiveSpreadsheet(); var sh = bk.getActiveSheet(); sh.getRange("A3").setNumberFormat("[h]:mm:ss"); sh.getRange("A4").setNumberFormat("h:mm:ss"); sh.getRange("A5").setNumberFormat("h:mm:ss am/pm"); sh.getRange("A6").setNumberFormat("h:mm:ss a/p");
うーん、おしい!結局いろいろ試してみました。結論としては、以下のようにします:
cell.setNumberFormat("M/d h:mm");
スラッシュは am/pm
a/p
のときだけ午前午後を解釈されるんですね。で、それ以外の一般のケースでは文字列として解釈される、と。無事解決して良かったです。
ちなみにこのプロジェクトのコードは以下で公開しています。ご興味があれば、どうぞ!