ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】GoogleスプレッドシートからLINEにメッセージを送る方法(トークルームの作成、LINE Notify APIの登録)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 定期的にセルを判別する方法がわかります。(LINEに送信できます)
- GOOGLEFINANCE関数をArrayFormula的な動きをさせることができます。
なので、サクッとマスターして
と答えてあげてください。
ご質問
準備
スプレッドシートからLINEにメッセージを送れるようにします。
【GAS】GoogleスプレッドシートからLINEにメッセージを送る方法(トークルームの作成、LINE Notify APIの登録)
動画はこちら
スクリプト
//セル値を取得しLINEに送信する
function SendLinefromCell() {
const SH_NAME = "値のチェック"
const CKCELL = "G2"
const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SH_NAME)
let checkval = sh.getRange(CKCELL).getValue()
console.log(checkval)
if (checkval > 5) {
sh.getRange("H2").setValue("5を超えました。LINEに送信します。")
// sendLineMessage("5を超えました。")
}
else {
sh.getRange("H2").setValue("5以下です")
}
}
※動画のスクリプトから関数名を変更し、シート名とセルの位置を定義しました。あなたの環境に合わせて、SH_NAME,CKCEllを変更してください
【GAS】GoogleスプレッドシートからLINEにメッセージを送る方法(トークルームの作成、LINE Notify APIの登録)
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)
GOOGLEFINANCEでArrayFormula的な動き
一気にSUMする方法(BYROW,LAMBDA)(Gスプレッドシート)
=BYROW(E17:E19, LAMBDA(rrow,GOOGLEFINANCE(rrow)))
最後までご覧いただきありがとうございます。
つぎはこちら
コメント
本当にご丁寧にありがとうございます。感謝します。
そしてたびたび質問すみません・・
メッセージが空白ですというようなスクリプトエラーが出ちゃって何回やっても直せません。。。
エラー内容はメールに送らせていただきました。
スクリプトは
https://technical.verybestcbp.com/sendline/
こちらのコードにLINEトークンを張り付けたのですが、何がおかしいのでしょうか?
スプレッドシートは共有できるのですが、スクリプトの共有方法がわからず文字での説明だとわかりにくくすみません。。。
まず、こちら↓で
https://technical.verybestcbp.com/sendline/
LINEにメッセージを送ることはできたのでしょうか?
main()関数を呼び出してLINEにメッセージを送るのが第一歩です。
function main() {
sendLineMessage(“テストです”);
}
お返事ありがとうございます!
おかげさまで、何とかLINEでメッセージは送ることができました。
しかし、セルに反映された数値そのものは送れるのですが、
トリガーを設定しても
5以上or5以下で送るということができません。
なぜなのでしょうか・・・
度々すみません
ソースコードは
//セル値を取得しLINEに送信する
function getG2() {
const SH_NAME = “EURGBPUSD”
const CKCELL = “G2”
const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SH_NAME)
let checkval = sh.getRange(CKCELL).getValue()
console.log(checkval)
if (checkval > 5) {
sh.getRange(“H2”).setValue(“5を超えました。LINEに送信します。”)
// sendLineMessage(“5を超えました。”)
}
else {
sh.getRange(“H2”).setValue(“5以下です”)
// sendLineMessage(“5以下です”)
}
}
なるほど。
行の先頭の//はコメントという意味です(行自体がプログラムとして無視されます)。
なので、
// sendLineMessage(
先頭の//を削除して
sendLineMessage(
としてください。
さらにそもそも要件は、5以上だったので
if (checkval > 5) {
ではなく
if (checkval >= 5) {
となります。