【GAS基礎講座 19.】 チェックシートをコピーし シートを移動する方法さらにLINEと連携(Gスプレッドシート)

LINEとの連携

LINEとの連携一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS基礎講座 18.】 抽出したデータでファイルを作成(Gスプレッドシート)
GASを作る前段階の工程がわかります。 どんなGASを作ればいいかのイメージがつかめます。GASで新規ファイルに担当者ごとのQUERY文を追加することができます。

LINE関連→「【GAS基礎講座 16.】指定したカレンダーの予定をLINEに送信する」

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • GASでシートのコピーや移動方法がわかります。
  • GASで日付の扱い方がわかります。

 

なのでサクッとマスターして

と言ってあげてください

 

動画はこちら

スクリプト

function myFunction() {
//   1.シートのコピー	「マスタ」シートをコピー
const ss = SpreadsheetApp.getActiveSpreadsheet();

const sh_temp = ss.getSheetByName("マスタ");
const sh_new = sh_temp.copyTo(ss);

// 2.日付の入力	今日の日付
const date = new Date();
console.log( Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd'));
sh_new.getRange("D1").setValue(Utilities.formatDate( date,'Asia/Tokyo','yyyy/MM/dd'));

// 3.拠点名を取得	C1
const kyoname = sh_new.getRange("C1").getValue();

// 4.シート名の変更	今日の日付+拠点名
sh_new.setName(Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd')+ kyoname);

// 5.シートの移動
  // 1.シートをアクティブにする
  ss.setActiveSheet(sh_new);  //新しいシート
  // 2.シートを移動する
  ss.moveActiveSheet(4);



}

 

 

さらに予定表から取得

  • GASでシートから値を取得する方法がわかります。
  • GASでやることとシートでやることの違いがやんわりわかります。
  • 日付の整形方法がわかります。

 

動画はこちら

 

スクリプト

function myFunction() {
  //   1.シートのコピー	「マスタ」シートをコピー
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  
  const sh_temp = ss.getSheetByName("マスタ");
  const sh_new = sh_temp.copyTo(ss);
  
  // 2.日付の入力	今日の日付
  const date = new Date();
  console.log( Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd'));
  sh_new.getRange("D1").setValue(Utilities.formatDate( date,'Asia/Tokyo','yyyy/MM/dd'));
  
  // 3.拠点名を取得	C1
  const kyoname = today_vist();
  
  // 拠点名を設定
  sh_new.getRange("C1").setValue(kyoname);
  
  // 4.シート名の変更	今日の日付+拠点名
  sh_new.setName(Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd')+ kyoname);
  
  // 5.シートの移動
  // 1.シートをアクティブにする
  ss.setActiveSheet(sh_new);  //新しいシート
  // 2.シートを移動する
  ss.moveActiveSheet(4);
  
  
  
}

function today_vist()
{
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sh = ss.getSheetByName("予定表");
  const strvisit = sh.getRange("C1").getValue();
  console.log(strvisit);
  return(strvisit);
  
}

 

 

LINEに送信する

  • GASでシートから取得した値をLINEに送信する方法がわかります。
  • GASを1日1回実行する方法がわかります。

Googleカレンダーから今日の予定をまとめてLINEに送信する方法
https://technical.verybestcbp.com/jvic

const LINE_NOTIFY_TOKEN = "XXXXXXXXXXXXXXXXXXXGIV80";
const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";

//LINEにデータを送信する
//text:送信するデータ
function sendToLine(text){
  var token = LINE_NOTIFY_TOKEN;
  var options =
      {
        "method"  : "post",
        "payload" : "message=" + text,
        "headers" : {"Authorization" : "Bearer "+ token}
  
  };
UrlFetchApp.fetch(LINE_NOTIFY_API, options);
}

//予定をLINEに送信する
function SendPlanToline()
{
  const strvisit = today_vist();
  if(strvisit !== "休み") {
    sendToLine(strvisit);
  }
}



function myFunction() {
  //   1.シートのコピー	「マスタ」シートをコピー
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  
  const sh_temp = ss.getSheetByName("マスタ");
  const sh_new = sh_temp.copyTo(ss);
  
  // 2.日付の入力	今日の日付
  const date = new Date();
  console.log( Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd'));
  sh_new.getRange("D1").setValue(Utilities.formatDate( date,'Asia/Tokyo','yyyy/MM/dd'));
  
  // 3.拠点名を取得	C1
  const kyoname = today_vist();
  
  // 拠点名を設定
  sh_new.getRange("C1").setValue(kyoname);
  
  // 4.シート名の変更	今日の日付+拠点名
  sh_new.setName(Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd')+ kyoname);
  
  // 5.シートの移動
  // 1.シートをアクティブにする
  ss.setActiveSheet(sh_new);  //新しいシート
  // 2.シートを移動する
  ss.moveActiveSheet(4);
  
  
  
}

function today_vist()
{
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sh = ss.getSheetByName("予定表");
  const strvisit = sh.getRange("C1").getValue();
  console.log(strvisit);
  return(strvisit);
  
}

さらに訪問先と交通費

 

  • 日々の業務が改善する方法がわかります。
  • QUERYでちょっとした使い方がわかります。

 

動画

シートはこちら

*クリックすることでシートが開きます。(コピーしてお使いください)

追加後のスクリプト

const LINE_NOTIFY_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";

//LINEにデータを送信する
//text:送信するデータ
function sendToLine(text){
  var token = LINE_NOTIFY_TOKEN;
  var options =
      {
        "method"  : "post",
        "payload" : "message=" + text,
        "headers" : {"Authorization" : "Bearer "+ token}
  
  };
UrlFetchApp.fetch(LINE_NOTIFY_API, options);
}

//予定をLINEに送信する
function SendPlanToline()
{
  const strvisit = today_vist();
  if(strvisit !== "休み") {
    MakeNewSheet();//シートをコピーし拠点名と日付を入力する
    sendToLine(strvisit);
  }
}


//シートをコピーし拠点名と日付を入力する
function MakeNewSheet() {
  //   1.シートのコピー	「マスタ」シートをコピー
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  
  const sh_temp = ss.getSheetByName("マスタ");
  const sh_new = sh_temp.copyTo(ss);
  
  // 2.日付の入力	今日の日付
  const date = new Date();
  console.log( Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd'));
  sh_new.getRange("D1").setValue(Utilities.formatDate( date,'Asia/Tokyo','yyyy/MM/dd'));
  
  // 3.拠点名を取得	C1
  const kyoname = today_vist();
  
  // 拠点名を設定
  sh_new.getRange("C1").setValue(kyoname);
  
  // 4.シート名の変更	今日の日付+拠点名
  sh_new.setName(Utilities.formatDate( date,'Asia/Tokyo','yyyyMMdd')+ kyoname);
  
  // 5.シートの移動
  // 1.シートをアクティブにする
  ss.setActiveSheet(sh_new);  //新しいシート
  // 2.シートを移動する
  ss.moveActiveSheet(4);
  
  
  
}

function today_vist()
{
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sh = ss.getSheetByName("予定表");
  const strvisit = sh.getRange("C1").getValue();
  console.log(strvisit);
  return(strvisit);
  
}

 

最後までご覧いただきありがとうございます。

つぎはこちら

【GAS基礎講座 20.】 新スクリプトエディタ 完全攻略(ショートカットキー)
スクリプトエディタの新しい機能がわかります。 単語補完機能やスクリプトの整形方法がわかるので作業効率が格段にアップします。

 

LINEとの連携一覧

コメント

タイトルとURLをコピーしました