googleスプレッドシートを使ってスマホで音声入力するメモ帳を作成しました。旅行での備忘録だけではなく日常のメモとしても使えます
スプレッドシートのタブ名称
スプレッドシートが開いていれば「ファイル」⇒ 「新規作成」を選択して新しいスプレッドシートを作成します
googleドライブからでは「新規」⇒「スプレッドシート」を選択します
このあたりは言われなくても…ですよね ^^;
タブ名は「Memo」と「Record」 としています
どちらも頭文字は半角大文字です

book名は「旅メモ」としていますがこれは自由に決めて構いません
ただしスクリプト内の「旅メモ」を変更すると一連のスクリプトを変更する必要があるので注意してくださいね
メモのスクリプト(gas)
「拡張機能」から「Apps Script」を開きます
function を「onEdit(e)」とします
これはセル内に変更があれば自動でコードを実行するためのトリガーになります

このコードの特徴はチップ($)をもらったら音声入力する準備をするし入力が終わってチップ($)をもらったら記録するということです ^^;
PCとスマホの違い
さて、ここで困った問題が一つありました
PCではセルを選択してアクティベートするだけで選択状態となるのですがスマホではこれが動いてくれません
Sheet_memo.getRange(2,2).activate();
スマホではエンターキーを押すとアクティブセルが一段下になりますね
そこで$を入力して欲しいところのセルの色を変えて注意を促すようにしました
また、B 列を選択しないと記録しないようにしました
最も記録状態になればどのセルに入力しても記録・保存はできます
でも黄色のセルに$をあげた方が保存状態がきれいです ^^;
ということでこれがgooglesheetのスクリプトです

var 旅メモ = SpreadsheetApp.getActiveSpreadsheet();
var Sheet_memo = 旅メモ.getSheetByName("Memo");
var Sheet_record = 旅メモ.getSheetByName("Record");
function onEdit(e){
let e_value = e.range.getValue();
let e_row = e.range.getRow();
let e_col = e.range.getColumn();
let Selection = Sheet_memo.getRange(1,2).getValue();
let last_record_row = Sheet_record.getLastRow()+1;
if(Selection == "Memo" && e_col == 2){
if(e_value == "$" || e_value == "$"){
Sheet_memo.getRange(e_row,e_col).clearContent();
Sheet_memo.getRange(3,1).setValue(new Date());
Sheet_memo.getRange(1,2).setValue("Record");
Sheet_memo.getRange(2,2).setBackground('#ffffff');
}
}
if(Selection == "Record"){
if(e_value == "$"|| e_value == "$" ){
Sheet_memo.getRange(e_row,e_col).clearContent();
let last_memo_row = Sheet_memo.getLastRow();
Sheet_memo.getRange(3,1,last_memo_row,5).copyTo(Sheet_record.getRange(last_record_row,1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
Sheet_memo.getRange(3,1,last_memo_row,5).clearContent();
Sheet_memo.getRange(2,2).setBackground('#ffff00');
Sheet_memo.getRange(1,2).setValue("Memo");
}
}
}
旅メモの使い方
旅メモはその名の通り、旅先で感じたことや見たこと、聞いたことの覚書としてスマホの音声入力を想定して作成しました
でも農作業メモとしてもその場で音声入力出来るので用途があるかも?
使い方はスマホでgooglesheet 旅メモを開きます
黄色のセルをタップして選択して$(ドル)をタップし、エンターキーをタップします

すぐ選択位置がB3になり「Record」-記録中の表示に替わり音声入力が出来る状態になります
段落を変えたい場合にはエンターキーを押すことでB4…B5と段落が替わります

音声で入力します
もちろんキーボードでもOKです ^^;

旅メモの終了
段落を変えていくらでも入力出来ます ^^;
入力を終了する時は新しい空白のセルに「$」ドルをチップとしてあげます ^^;

ハイ!これで入力したメモは記録され初期状態に戻ります
PCではスクリプトでセルを移動出来ますがスマホではこれが出来ないのが唯一の難点です

記録されたメモはタブ「Record」に時刻と共に保存されますので時系列での確認に便利です
また行数は自動で最大100万行( 1,048,576 )まで増えますのでおよそ年間〜数年間の農作業メモや営業記録としても使えそうです

googlesheetでは行を固定すると下にスクロールしても常に上の段にはデータの入力規則とドル入力欄が画面上にあるので便利ですよ

