前提・実現したいこと
GASでスプレッドシートに、自分が対応が必要な案件が入力されたらスラックに入力されるようにしたいと思っております。
某企業で営業として勤務しております。
営業なのですが、プログラミングにも興味があり、現在苦戦中です。
3日間ほど調べたのですが答えがわからず、質問させていただきます。
GASで、スプレッドシートに自分が対応が必要な案件が入力されたら、スラックに入力されるようにしたいと思っております。
発生している問題・エラーメッセージ
エラーメッセージ 関数の実行をするとエラーは出ないのですが、通知がなされません。
該当のソースコード
function sendSlack2test(slackText){
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // スプレッドシート
var activeSheet = activeSpreadsheet.getActiveSheet(); // アクティブシート
if(activeSheet.getName() != "テスト"){
return;
}
var activeCell = activeSheet.getActiveCell(); // アクティブセルの取得
if((activeCell.getColumn() == 7 && getColumn.getValues() == "必要な対応") && (activeCell.getColumn(0, -1) == 6 && getValues() == "自分の名前")){
var newInputRow = activeCell.getRow();
// Step1で取得したWebhook URLを設定
var webHookUrl = "webhookのURL";
var recieveday = activeSheet.getRange(activeCell.getRow(), 3).getValue(); var recieveman = activeSheet.getRange(activeCell.getRow(), 5).getValues(); var needcbday = activeSheet.getRange(activeCell.getRow(), 4).getValue(); var tocbman = activeSheet.getRange(activeCell.getRow(), 2).getValues(); var requirement = activeSheet.getRange(activeCell.getRow(), 7).getValues(); var otherspace = activeSheet.getRange(activeCell.getRow(), 8).getValues(); var recieveday2 = Utilities.formatDate(recieveday,'JST','yyyy年MM月dd日'); var needcbday2 = Utilities.formatDate(needcbday,'JST','yyyy年MM月dd日');
var slackText = "CB依頼があります" + "にタスクが追加されました\n" +
"受電日 : " + recieveday2 + "\n" +
"受電者 : " + recieveman + "\n" +
"要CB日 : " + needcbday2 + "\n" +
"CBスタッフ名 : " + tocbman + "\n" +
"用件 : " + requirement + "\n" +
"備考 : " + otherspace + "\n" +
"スプレッドシートのURL";
var jsonData =
{
"channel": "#タスク", // 通知したいチャンネル
"text" : slackText,
};
var payload = JSON.stringify(jsonData);
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : payload,
};
// リクエスト
UrlFetchApp.fetch(webHookUrl, options);
}}
GAS
試したこと
if(activeCell.getColumn() == 7 && getColumn.getValues() == "必要な対応"){
(activeCell.getColumn(0, -1) == 6 && getValues() == "自分の名前")
この部分を上記のようにしたりしてみたのですが、上手く通知が来ません。
おそらく下記の部分が間違っていると覆うのですが、複数条件の指定がうまくできません。
if((activeCell.getColumn() == 7 && getColumn.getValues() == "必要な対応") && (activeCell.getColumn(0, -1) == 6 && getValues() == "自分の名前")){
基本的に7列目の、必要な対応の種類の入力が最後になります。
7列目が入力された段階で、通知が来るといいと思っております。
また、7列目に入力されるのは4種類程度あるので、その条件分岐の指定方法も教えて頂けると幸いです。
補足情報(FW/ツールのバージョンなど)
初めての質問となり、至らない点があるかと思いますが、何卒宜しくお願い致します。
あなたの回答
tips
プレビュー