前提・実現したいこと
はじめてGASを利用して作成しはじめました。
やりたい事は以下の通りです。
(1)スプレッドシートを共有した各人がシートに記述する
(2)記述した行のプルダウンが「送信する」だったら、特定の周期でチャットワークのグループに送信される
(3)送信された際に、送信日時を付けて終了
特定の周期はコード記述後にトリガーで設定できそうなので、それはコードに含まない予定です。
発生している問題・エラーメッセージ
logでシート名の取得が出来ている事までが確認できました。
主に参照したリンク
出来ずに困っているのは、forとifの部分です。
参照したリンク先では日時で予約投稿をしているようでしたが、正直全く分かりませんでした。
該当のソースコード
わたしが作った、現状のコードになります。
function myFunction() { var SHEET = SpreadsheetApp.getActiveSpreadsheet(); var DB = SHEET.getSheetByName('DB'); var TEXT = SHEET.getSheetByName('案一覧'); // シート(DB)のトークン(A2)を取得 var DB_TOKEN = DB.getRange('A2'); var TOKEN = ChatWorkClient.factory({token: DB_TOKEN}); // シート(DB)のルームID(B2)を取得 var ROOM_ID = DB.getRange('B2'); // シートを最初から最後まで見る var LASTROW_TEXT = TEXT.getLastRow(); for (let i = 2; i <= LASTROW_TEXT; i++) { // シート(案一覧)の指定行の列が「送信する(E2~)」かつ「chat送信日時(H2~)」が空欄だったら // if ( () && () ) { // 送信する行の記入者名(C2~)をシートから取得 var NAME = '名前'; // 送信する行のテキスト(F2~)をシートから取得 var TEXT = 'テキスト'; // 送信する行の備考(G2~)をシートから取得 var POINT = 'URL'; // 送信する行からbodyを生成する var BODY = '[info][title]'; BODY += NAME; BODY += 'さん[/title]'; BODY += TEXT; BODY += '[hr]'; BODY += POINT; BODY += '[/info]'; // ルームIDにメッセージを送信する TOKEN.sendMessage({room_id:ROOM_ID, body:BODY}); // 最後にchat送信日時(H2~)に送信した日時を記録する // } } }
試したこと
直入力の情報で送信、チャットワークでの受信を確認できました。
スプレッドシートに送信した日時を書き込むところはまだ全く分かっていません。
補足情報(FW/ツールのバージョンなど)
GASは現在の最新になっているかと思います。
以前のエディタに変更しないと、チャットワークのライブラリが設定できず苦戦しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/21 11:26