質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

Q&A

解決済

1回答

712閲覧

スプレッドシートの特定の列(C列)に入力があった際にチャットワークに通知が送られるようにしたいです。

MYTH

総合スコア1

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

0グッド

2クリップ

投稿2023/06/13 03:26

編集2023/06/13 05:44

実現したいこと

スプレッドシートの特定の列(C列)に入力があった際にチャットワークに通知が送られるようにしたいです。

前提

現在は以下のコードで【CWsend】にトリガーをかけています。
このコードで問題なく動いてはいます。

発生している問題・エラーメッセージ

今のままではどのセルに入力があっても通知が来てしまうので
C列に入力があった時にだけ通知が来るようにしたいです。

該当のソースコード

function CWsend() { let body = "送信したい内容" let token = "APIトークン" let roomId = "ルーム番号" var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得 var myCell = mySheet.getActiveCell(); //アクティブセルを取得 if(myCell.getRow()!= 1 || myCell.getRow()!= 2) //ここで特定の行かどうかを確認して、それ以外の行だったら処理を終了させる return; let cw = ChatWorkClient.factory({token:token}); cw.sendMessage({ room_id:roomId, body: body }); } ### 補足情報(FW/ツールのバージョンなど) 自分の中で進展がありましたので記載させていただきます。 現在は下記のコードで動かしております。 function getRangeSample() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName('シート1'); sheet.getRange(1, 1, 100, 100).setBackground(null); // 選択範囲を指定 getRange(row, column, numRows, numColumns) var range = sheet.getRange(1, 2, 100, 1) let body = "入力がありました" let token = "トークン" let roomId = "部屋番号" let cw = ChatWorkClient.factory({token:token}); cw.sendMessage({ room_id:roomId, body: body }); } エラーなく動きはするのですがですがどのセルに入力しても通知がきてしまいます、、

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YellowGreen

2023/06/13 05:16 編集

C1セルかC2セルに入力があったときだけ処理を実行したいのでしょうか? それとも、C列ならどの行(1行目でも5行目)でも構わないのでしょうか?
MYTH

2023/06/13 05:33

C列の100行目くらいまでどの行にいれても反応するようにしたいです。
guest

回答1

0

ベストアンサー

現在のコードが行に関する不明な条件がついていますので、
それを列に関する条件に変更することでご希望の動作になると思います。

js

1if(myCell.getRow()!= 1 || myCell.getRow()!= 2) //ここで特定の行かどうかを確認して、それ以外の行だったら処理を終了させる 2 return;

の2行を

js

1if (myCell.getColumn() != 3) { //C列以外のときは終了する 2 return; 3}

の3行に変更するとご希望の動作になると思います。
なお、行に関する条件はなくなるので100行目でも200行目でも動作します。

投稿2023/06/13 05:43

YellowGreen

総合スコア861

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MYTH

2023/06/13 05:50

ありがとうございます!!!解決しました!!!本当にありがとうございます(´;ω;`)
YellowGreen

2023/06/13 05:51

お役に立ってよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問