
GoogleスプレッドシートでTODOリストを作成しています。
たとえばタスクの期限が近づいてきた時に(3時間前など)に指定したメールアドレスにメールを
送る(ハングアウトで通知されるとか、ユーザーに直接連絡が行けばなんでも構いません)
ようなスクリプトや、条件付き書式設定など?
方法はございますでしょうか?
スプレッドシートだけでなくても、GoogleカレンダーやIFTTTなどといった他のサービスとの複合でもアイデアがあればぜひご教授頂きたく存じます。
No.2ベストアンサー
- 回答日時:
独学がてら原理動作を作ってみました。
(添付画像、後記スクリプト)太字の日時を現在日時の3時間前後に設定し、「期限チェック」ボタンを押すと、期限まで3時間以内なら添付画像のように「警告」表示されメールが送信されました。
注意点は、期限の表示形式を本来の日付や日時にすると判定ができなかったため書式なしテキストとしました。
スプレッドシートを開いたイベントに処理を割り当てるという仕組みは見つけられませんでした。
周期処理も同様のため、自動ではなく上記のようにボタンを押すという手動の実装を行いました。
当然開きっぱなしでは実行されないことになります。
メールについては、下記も参考になります。
https://developers.google.com/apps-script/overvi …
セルの読みは下記が参考になります。
https://developers.google.com/apps-script/guides …
GoogleスクリプトはベースはJavascriptのようなので、Javascriptの仕様も参考になると思います。
あとは、上記等、勉強して補って下さい。
Googleの捨てアカウントがあるなら、原理動作したものを編集者権限(動作させることができる)で共有できます。
ちなみにここまで作って気づきましたが、Googleカレンダーの予定にメールの通知機能があります。
ただ、通知は最短で1日前です。
でも、ポップアップによる通知も設定できるため、もしかしたらこちらは開きっぱで通知されるかもしれません。
とはいえ、1日前にポップアップされてもですが。。。
-----スクリプト
function CheckExpiration() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
expire = new Date(data[1][1]);
now = new Date();
timeExpire = expire.getTime();
timeNow = now.getTime();
judge = sheet.getRange("C2");
judge.setValue("");
if (timeExpire - timeNow <= 1000 * 60 * 60 * 3)
{
judge.setValue("警告")
Notify();
}
}
function Notify()
{
// Create a new Google Doc named 'Hello, world!'
var doc = DocumentApp.create('Hello, world!');
// Access the body of the document, then add a paragraph.
doc.getBody().appendParagraph('This document was created by Google Apps Script.');
// Get the URL of the document.
var url = doc.getUrl();
// Get the email address of the active user - that's you.
var email = Session.getActiveUser().getEmail();
// Get the name of the document to use as an email subject line.
var subject = doc.getName();
// Append a new string to the "url" variable to use as an email body.
var body = 'Link to your doc: ' + url;
// Send yourself an email with a link to the document.
// GmailApp.sendEmail(email, subject, body);
Logger.log("Send Email");
}

No.1
- 回答日時:
ググったレベルだけど。
。。こんなAPIがあるので、スプレッドシートのメニュー「ツール」-「スクリプトエディタ」からスクリプトを作り、スプレッドシートにアドオンすれば、ExceL+VBAのようにできるのではなかろうか。
https://developers.google.com/apps-script/refere …
Javascriptだとグローバルに書いた処理はロード時に実行されるので、同様なら、シートを開くだけでTODOリストの期限をチェックしてメール送信まで自動でできそう。
(Googleのスクリプトはスプレッドシートだけのものではないから厳しいかもしれない。。。
逆に、読み込み時というイベントに応じて処理を行う仕組みが用意されているかも。)
とはいえ、やり過ぎならVBA同様、メニュー「挿入」-「画像」で□を書いてスクリプトを割り当て、期限チェックボタンとする等。
気になるとこでは、
・メール送信はおそらく送信元はスプレッドシードの所有者のグーグルアカウント???
・メール送信失敗は、APIの戻りが同オブジェクトなので、前後で受信トレイのスレッド数を比較???
(失敗ならエラーメールが受信される。)
ご回答誠にありがとうございます。
とても丁寧に教えていただいて上で恐縮なのですが、当方はプログラミングに関する知識が、皆無に等しいのです。
お手間をおかけついでにいくつかお尋ねしたいのですが、
●こちらのAPIはスクリプトエディタを開いてそのままコピペすればよろしいのでしょうか?
●もしそうだとすれば、どこからどの範囲をコピペして、どの範囲を各個人のメールアドレスに書き換えればよいですか?
もし、これがシートをひらくだけで実行されるなら、ほぼやりたいことが実現できるのですが、「スプレッドシートをひらく」というアクションが無ければ実行されないのでしょうか?
だとすれば、開きっぱなしの場合はTODOの期限が経過しても実行されない可能性はありますでしょうか?
お手すきの折がございましたら、ご返答いただければ幸いです。
どうもありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- その他(IT・Webサービス) Googleスプレッドシートのコメントについて 1 2022/07/07 15:07
- その他(Microsoft Office) (至急)Googleのスプレッドシートの条件付き書式について 2 2022/09/11 08:50
- Google Drive Googleカレンダーから複数の通知 1 2022/06/06 07:19
- その他(Microsoft Office) スプレッドシートにて、条件付き書式で複数の単語に合致するセルを着色したいです。 2 2023/04/06 13:25
- Excel(エクセル) 見えているセルの数字だけの合計を計算させたい 4 2022/09/11 17:23
- Google+ Googleカレンダーの予定がクラスルームに勝手に共有されることはありますか? 大学オンライン授業で 1 2022/04/09 17:15
- フリーソフト Googleスプレッドシートで特定の言葉が含まれる行の色分けをしたいのですが 4 2022/04/30 15:29
- その他(IT・Webサービス) 高速処理可能な表計算ソフトについて ExcelやGoogleスプレッドシートのような表計算ソフトで、 2 2023/04/29 16:06
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
apache2.2.6 日本語設定
-
スクリプトって、何ですか?ど...
-
Jupiter 5でgooフリーメールを...
-
こういう会話のゲーム?って何...
-
Flash8とMXの違いについて
-
FirefoxのGreasemonkey用の以下...
-
FireFoxでSleipnirのURIアクション
-
エクセルVBAでIEのjavaスクリプ...
-
craving explorerでの動画保存
-
Dreamweaver CS3 外部 JS ファ...
-
ブラウザ表示のエラー
-
Craving Explorer
-
スクリプトについてなんですが...
-
スクリプト不要なマクロツール...
-
javaについて。
-
Web巡回ソフト
-
Internet Explorer スクリプト...
-
ShadeのScriptについて
-
予め複数の文字列を登録し、ウ...
-
Internet Explorer4.0以上また...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトって、何ですか?ど...
-
PDFファイルを分割するマクロの...
-
【このスクリプトの実行を中止...
-
NetScapeで「お使いのブラウザ...
-
シャットダウン時にメッセージ...
-
PhotoShopで色域指定による範囲...
-
質問なんですけど……
-
gimp2.8 script-fu について
-
Adobe Readerでインターネット...
-
イラレにエクセルデータ挿入方...
-
画面認識型の自動クリックソフ...
-
カウンターについて教えてくだ...
-
PDFで年齢を計算したいのです。
-
Dreamweaverのテンプレートを一...
-
Googleスプレッドシートで特定...
-
スクリプトって何?(パソコン初...
-
AppleScript
-
GIMPのスクリプト導入が出来ない。
-
illustrator10で複数の画像を一...
-
自動巡回について
おすすめ情報