3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[GAS]音声入力で雑に食費を計算したい。

Posted at

#やったこと
やったことはiPhoneからGoogle Assistant+IFTTT+GAS+GoogleSphreadSheetを用いて、
今日の昼飯、夕飯で使ったお金を音声で入力し、スプレッドシートに記録するだけ。
もし入力するのに失敗してもその日のうちだったら上書き出来ます。

#ソースコード
これがコードワニ🐊

GASのソース.
var sphreadSheetId = "スプレッドシートのID";
var sheetName ="シート名";

function doPost(e) {
  
  // スプレッドシートファイルを開く
  var sphreadSheet = SpreadsheetApp.openById(sphreadSheetId);
  
  // シートを取得する
  var sheet = sphreadSheet.getSheetByName(sheetName);
  
  // 今日の日にちを取得する
  var dateData = new Date();
  var dateCompSourceString = Utilities.formatDate(dateData,"JST","yyyy/MM/dd");

  // 検索範囲を設定する(データの入力された最終行を取得したいものである・・・)
  var searchRange = 100;

 // 検索範囲文繰り返す  
  for(var i = 2; i < searchRange; i++)
  {
    // セルの日付をYYYY/MM/DDの文字列で取得する
    var dateCompDestString = Utilities.formatDate(sheet.getRange(i,1).getValue(),"JST","yyyy/MM/dd");
  
    // 日付を比較する
    if(dateCompSourceString == dateCompDestString)
    {
      // 日付が合っていれば、現在のセルの右隣の昼飯列に数値を入れる
      sheet.getRange(i,2).setValue(e.postData.getDataAsString());
    }
  }
  
}

スプレッドシートはこんなやつ

キャプチャ.PNG

IFTTTの設定はこんなやつ

IFTTT.
+this:Google Assistant(Say a Phrase with a number)
What do you want to say?:昼飯 #
Language:Japanese

+that:webhooks(Make a web request)
URL:GASのURL
Method:POST
Content Type (optional):text/plain
Body (optional):{{NumberField}}

#所感
・Google Assistantの設定なのか入力時に頭に「OK Google」が必要。なので、「OK Google 昼飯 500」のように音声入力するワニ🐊
・日にちの比較に手間取りましたワニ。このあたりの記事を参考にさせてもらいましたワニ🐊
https://jjnurburg.com/newdate/
https://macprimary.white-doll.net/?p=289
・夜飯は昼飯の右隣ワニ。GASファイルは分けましたワニ。Webhookの設定で分岐できそうな気がするワニ🐊

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?