สอนทำ แจ้งเตือน LINE Notify เมื่อมีการเปลี่ยนแปลงใน Cell google sheet

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

ความคิดเห็น • 83

  • @somponghhy2501
    @somponghhy2501 2 ปีที่แล้ว +2

    ขอบคุณมากครับ ดูดีๆแล้วมันมีเทคนิคดีๆ เรื่องของการไม่ใช้ลูปวนหาข้อมูล เป็นเรื่องของตำแหน่ง เทคนิคดีมากคับ

    • @iton5
      @iton5  2 ปีที่แล้ว +1

      ขอบคุณอาจารย์ครับ^^

  • @ภานุวัฒน์เรืองมูล

    wowๆ แบบนี้กำลังจะทดลองทำพอดีเลยครับ เยี่ยมครับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ขอบคุณครับ^^

  • @palmissssssss
    @palmissssssss 2 ปีที่แล้ว +4

    ทำให้แจ้งเตือนเมื่อมีการกรอกข้อมูลใน Sheet ได้มั้ยครับ

  • @apichatweb33
    @apichatweb33 ปีที่แล้ว +1

    ขอบคุณมากๆ ครับ

    • @iton5
      @iton5  ปีที่แล้ว

      ยินดีครับ 🎉🎉🎉

  • @peeaq123
    @peeaq123 4 หลายเดือนก่อน

    รบกวนสอบถามครับ พอดีลองทำตามแล้ว พอกรอกข้อมูลชีทอื่นใน spreadsheet เดียวกัน ที่เป็นแถวเดียวกันกับตัวที่ให้แจ้งเตือน มันขึ้นแจ้งเตือน อยากให้แจ้งเตือนจากการแก้ไขเฉพาะชีทที่กำหนดไว้พอจะทำได้ไหมครับ

  • @polliploii5891
    @polliploii5891 9 หลายเดือนก่อน +1

    ลองทำครั้งแรก ทำตามไม่ยากเลย ขอบคุณมากค่ะ

    • @iton5
      @iton5  8 หลายเดือนก่อน

      เยี่ยมมากเลยครับ

  • @agegroup2747
    @agegroup2747 ปีที่แล้ว

    ใน Sheet เดียวกัน สามารถให้อีก column เมื่อแก้ไขให้ส่งเตือนไปอีกกลุ่มนึงได้ไหมครับ

  • @viriya2011
    @viriya2011 ปีที่แล้ว +1

    ขอบคุณมากครับ

    • @iton5
      @iton5  ปีที่แล้ว +1

      ขอบคุณเช่นกันครับ

  • @Maintenance-u8c
    @Maintenance-u8c 11 หลายเดือนก่อน

    รบกวนขอไฟล์ Script ได้มั้ยครับ ขอบคุณครับ

  • @EuroFilmmaker
    @EuroFilmmaker 7 หลายเดือนก่อน +1

    ขอสอบถามครับ ผมใช้สู
    ตรดึงข้อมูลมาจากคอลัมน์อื่น แล้วระบบแจ้งเตือนไม่ทำงาน สามารถแก้ไขยังไงได้บ้างหรอครับ

    • @iton5
      @iton5  7 หลายเดือนก่อน +1

      แก้โค๊ดให้ไปดึงคอลัมน์นั้น แล้วค่อย getValue() ออกมาครับ

    • @EuroFilmmaker
      @EuroFilmmaker 7 หลายเดือนก่อน

      ขอบคุณมากๆครับ

  • @saksornsenwiruch6317
    @saksornsenwiruch6317 2 ปีที่แล้ว +1

    ถ้าอยากจะให้ ถ้าไม่มีอะไรใส่ในช่องคอลั่มหรือไม่มีความคืบหน้า ตามเวลาที่กำหนดจะแจ้งเตือนผ่านไลน์ พอจะทำได้มั้ยครับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ทำได้ครับ ก็ใส่ค่าว่างลงไปเลยครับ

    • @saksornsenwiruch6317
      @saksornsenwiruch6317 2 ปีที่แล้ว

      @@iton5 ตรงไหนเหรอครับ รบกวนด้วยครับผม

  • @asayankittichet4501
    @asayankittichet4501 ปีที่แล้ว

    ถ้าผมอยากให้ column d มีคำว่า yes แล้วค่อยแจ้งเตือน ต้องแก้ตรงไหนครับ

  • @Inspiredoftheday
    @Inspiredoftheday 2 ปีที่แล้ว +1

    สามารถให้แจ้งเตือนหลายช่องพร้อมกันได้ไหมครับ แต่ไม่ใช่ทั้งหมด จะใช้แจ้งงานที่เด็กค้างส่งให้กลุ่มไลน์ ขอบคุณครับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ทำได้ครับ ดูใน ep 3 ได้เลยครับ

  • @Capybara_99
    @Capybara_99 2 ปีที่แล้ว +1

    ถ้ามีซีดหลายหน้า มันสามารถ แจ้งหน้าเดี่ยวได้ไหมคับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ได้ครับ ต้องปรับเป็น getsheetbyname แทนครับ

    • @Capybara_99
      @Capybara_99 2 ปีที่แล้ว

      const sheet = ss.getSheetByName("report") ผมได้ลองเปลี่ยนแล้วคับ มันก็ยังแจ้งเตือนยุคับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ตอนเลือกที่จะให้ edit ให้เรากำหนดหน้าไปเลยครับ

    • @อาณัฐพงศ์สุพรรณชาติ
      @อาณัฐพงศ์สุพรรณชาติ 2 ปีที่แล้ว

      @@iton5 ทำยังไงคะพอดีมันไม่ขึ้นnotifyเลย

  • @PooNeep
    @PooNeep 7 หลายเดือนก่อน +1

    สอบถามหน่อยค่ะ ถ้าใน1ไฟล์ มีหลาย sheet จะเลือก sheet ต้องเพิ่ม code ยังไงคะ

    • @iton5
      @iton5  7 หลายเดือนก่อน +1

      เพิ่ม getSheetByName(ชื่อชีค) จากนั้นค่อยนำ function ไปใช้กับชีตนั้นๆ

    • @PooNeep
      @PooNeep 7 หลายเดือนก่อน

      @@iton5 ขอสอบถามอีกทีค่ะ เราเขียนแบบนี้
      function report() {
      const ss = SpreadsheetApp.getActiveSpreadsheet()
      const sheet = ss.getSheetByName("ชีต2");
      const editcell = sheet.getActiveCell();
      if (editcell.getValue() !== '') {
      const col = {}
      col.edited = editcell.getColumn();
      col.no = 1
      col.namereport = 2
      col.owner = 3
      col.volume = 4
      col.picture = 5
      const row = {}
      row.edited = editcell.getRow();
      row.last = sheet.getLastRow();
      var msg = ''
      var pic = ''
      var tokens = ''
      switch (col.edited) {
      case col.volume:
      tokens = 'fCx364LiliJjH2SleoWQgGKq7YupXL8E2kspgd2ODL0'
      msg += '
      '
      msg += 'รายงานวันนี้
      '
      msg += 'No. : ' + sheet.getRange(row.edited, col.no).getValue() + '
      '
      msg += 'Name Report : ' + sheet.getRange(row.edited, col.namereport).getValue() + '
      '
      msg += 'Owner : ' + sheet.getRange(row.edited, col.owner).getValue() + '
      '
      msg += 'Volume : ' + sheet.getRange(row.edited, col.volume).getValue()
      pic = sheet.getRange(row.edited, col.picture).getValue()
      notify(msg, pic, tokens)
      break
      }
      }
      }
      function notify(messages, img, token) {
      const url = 'notify-api.line.me/api/notify'
      const opt = {
      "Method": "post",
      "payload": {
      message: messages,
      imageThumbnail: img,
      imageFullsize: img
      },
      "headers": { "Authorization": "Bearer " + token }
      };
      UrlFetchApp.fetch(url, opt);
      }
      พอเราแก้ชีต1 แล้วมันแจ้งเตือน แต่เตือนเป็นข้อมูลชีต2 เราอยากให้แก้ในชีต1 ไม่เตือน ให้มันเตือนเฉพาะเวลาชีต 2 เปลี่ยนอย่างเดียวเลย ต้องแก้ยังไงคะ

    • @PooNeep
      @PooNeep 6 หลายเดือนก่อน

      @@iton5 ขออนุญาตสอบถามอีกทีค่ะ จาก code นี้ ตอนนี้คือข้อมูลที่แจ้งเตือนผ่านไลน์ เป็นข้อมูลจากชีต2 เมื่อค่าเปลี่ยน แต่ถ้าค่าในชีต1 เปลี่ยน มันก็ยังแจ้งเตือนมาที่ไลน์อยู่ แต่เป็นข้อมูลจากชีต 2 นะคะ เราอยากให้มันแจ้งเตือนแค่ เมื่อเซลในชีต 2 เปลี่ยนแล้วก็แจ้งเตือนเป็นค่าจากชีต 2 ต้องแก้ยังไงคะ

    • @PooNeep
      @PooNeep 6 หลายเดือนก่อน

      function report() {
      const ss = SpreadsheetApp.getActiveSpreadsheet()
      const sheet = ss.getSheetByName("ชีต2");
      const editcell = sheet.getActiveCell();
      if (editcell.getValue() !== '') {
      const col = {}
      col.edited = editcell.getColumn();
      col.no = 1
      col.namereport = 2
      col.owner = 3
      col.volume = 4
      col.picture = 5
      const row = {}
      row.edited = editcell.getRow();
      row.last = sheet.getLastRow();
      var msg = ''
      var pic = ''
      var tokens = ''
      switch (col.edited) {
      case col.volume:
      tokens = 'fCx364LiliJjH2SleoWQgGKq7YupXL8E2kspgd2ODL0'
      msg += '
      '
      msg += 'รายงานวันนี้
      '
      msg += 'No. : ' + sheet.getRange(row.edited, col.no).getValue() + '
      '
      msg += 'Name Report : ' + sheet.getRange(row.edited, col.namereport).getValue() + '
      '
      msg += 'Owner : ' + sheet.getRange(row.edited, col.owner).getValue() + '
      '
      msg += 'Volume : ' + sheet.getRange(row.edited, col.volume).getValue()
      pic = sheet.getRange(row.edited, col.picture).getValue()
      notify(msg, pic, tokens)
      break
      }
      }
      }
      function notify(messages, img, token) {
      const url = 'notify-api.line.me/api/notify'
      const opt = {
      "Method": "post",
      "payload": {
      message: messages,
      imageThumbnail: img,
      imageFullsize: img
      },
      "headers": { "Authorization": "Bearer " + token }
      };
      UrlFetchApp.fetch(url, opt);
      }

    • @iton5
      @iton5  6 หลายเดือนก่อน

      @PooNeep getRange(ระบุตำแหน่ง).getValue() ในส่วนที่อยากเตือนครับ

  • @xbar1986
    @xbar1986 2 ปีที่แล้ว +1

    อยากได้เเบบกดบันทึกข้อมูลเเล้วเเจ้งเตือนผ่านไปลน์ครับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      LINE Notify แจ้งเตือนเมื่อมีคนส่งฟอร์มจาก Google form วิธีเบื้องต้น | iton5
      th-cam.com/video/lAjWhbYXRfc/w-d-xo.html

  • @Wichaoue
    @Wichaoue ปีที่แล้ว

    สามารถแจ้งเตือนเมื่อเซลมีค่าตำกวาเซลคอลัมถัดไป ได้ไหมครับ แนะนำทีครับ

    • @iton5
      @iton5  ปีที่แล้ว

      ได้ครับ แต่เราต้องทำเงื่อนไข หลังจาก edit if (value

  • @pitulaclass6407
    @pitulaclass6407 2 ปีที่แล้ว +1

    ทำตามเพื่อศึกษาครับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ขอบคุณครับ^^

  • @agegroup2747
    @agegroup2747 ปีที่แล้ว

    ตอนแจ้งเตือนใน Line สามารถเพิ่ม Icon แล้วทำ Link คลิกที่ Icon ได้ไหมครับ

    • @iton5
      @iton5  ปีที่แล้ว

      LINE Notify ทำได้แค่ ข้อความ แล้วแนบลิ้งค์ลงไปครับ
      ส่วน LINE Notify รองรับแค่ text , sticker , image

  • @Nuttakrit.J
    @Nuttakrit.J 2 ปีที่แล้ว

    พอดีลอง ใช้ google form กดส่งมาแล้วลองแก้ไข form ส่งมาอีกที่ ที่google sheet มีการอัเดต แต่ลายไม่ขึ้น แต่ถ้าแก้ที่ ไฟล์google sheetเลย ลายขึ้นครับ พอมีวิธีแก้ไหมครับ

    • @iton5
      @iton5  2 ปีที่แล้ว +1

      ถ้าจะให้ google form แจ้งเตือนลองทำทริกเกอร์เมื่อส่งฟอร์มครับ
      ส่วนชีตแจ้งเตือนค่อยใช้ฟังชั่นในการแก้ไข

    • @Nuttakrit.J
      @Nuttakrit.J 2 ปีที่แล้ว

      @@iton5 เมื่อมีการแก้ไข Google form สามารถแจ้งเตือนได้ไหมครับ หรือ พอจะมีแนวทางไหมครับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      Google form ต้องมีการ submit ครับ ถึงเตือนได้

  • @Young-Kwang
    @Young-Kwang 7 หลายเดือนก่อน +1

    ลองรันแล้ว มันแจ้งว่่ getValue ไม่มีฟังก์ชั่นอะคะ แก้ไขอย่างไรคะ

    • @iton5
      @iton5  7 หลายเดือนก่อน

      มันต้องมีการเปลี่ยนในชีตครับ ไม่ต้องกดรันใน function ครับ

  • @kruamptps4738
    @kruamptps4738 2 ปีที่แล้ว

    ถ้ามีการเปลี่ยนแปลงค่าจากการ scan qr-code ต้องเปลี่ยนโค้ดไหมคะ ลองเขียนแบบอาจารย์มันไม่แจ้งเตือนค่ะ ขอบคุณค่ะ

    • @kruamptps4738
      @kruamptps4738 2 ปีที่แล้ว

      ถ้าเป็นการแสกนแล้วลงเวลาใน cell

    • @iton5
      @iton5  2 ปีที่แล้ว

      โค๊ดใช้ได้ครับ ถ้า scan ต้องเปลี่ยนโค๊ดครับ

    • @kruamptps4738
      @kruamptps4738 2 ปีที่แล้ว

      เปลี่ยนเยอะไหมคะอาจารย์ ขออาจารย์แนะนำหน่อยค่ะ ขอบคุณค่ะ

    • @iton5
      @iton5  2 ปีที่แล้ว

      จะเมื่อแก้ไข แต่ event ยังเป็น onEdit ครับ

  • @thinnaponloedarariyaworaku9255
    @thinnaponloedarariyaworaku9255 ปีที่แล้ว

    หากชีทหลักเป็นข้อมูลที่มีการ IMPORTRANGE เข้ามาจะทำอย่างไรให้แจ้งเตือนครับ เพราะทำตามนี้แล้วข้อมูลไม่แจ้งเตือนครับ

    • @iton5
      @iton5  ปีที่แล้ว +1

      ถ้าทำตามคลิปแล้วยังไม่แจ้งเตือนน่าจะทำอะไรผิดลองไล่ใหม่แบบไม่ดัดแปลงครับ

    • @thinnaponloedarariyaworaku9255
      @thinnaponloedarariyaworaku9255 ปีที่แล้ว +2

      @@iton5 ขอบคุณครับทดสอบแล้วครับ หากเป็นการใส่ข้อมูลเองจะมีการแจ้งเตือนเข้ามาครับ แต่หากเป็นการ Auto จากการ importrange จะไม่มีการแจ้งเตือนส่งมาครับ

    • @iton5
      @iton5  ปีที่แล้ว +1

      @thinnaponloedarariyaworaku9255 important คือดึงมาจากที่อื่น จะไม่ใช่ ไอดีของเขาครับ

  • @pichayasaksiwakuleng-kl6284
    @pichayasaksiwakuleng-kl6284 ปีที่แล้ว

    ผมลองทำตามแล้วแต่ไม่สำเร็จ ไม่มีข้อความส่งมาที่ Line เลยครับ ไม่แน่ใจว่าผิดพลาดตรงไหน

    • @iton5
      @iton5  ปีที่แล้ว +1

      ลองสังเกตุที่เราเขียนเช่น : ชิดตัวหลักไหม ปีกาครบหรือเปล่า วงเล็บไรงี้ครับ ถ้าผิดตัวนึง ก็จบเลยครับ ลองไล่ดูครับ

    • @pichayasaksiwakuleng-kl6284
      @pichayasaksiwakuleng-kl6284 ปีที่แล้ว +1

      @@iton5 ขอบคุณครับ เดี๋ยวลองตรวจสอบดูอีกครั้งครับ

  • @ฮัมบะลีย์วาจิ
    @ฮัมบะลีย์วาจิ ปีที่แล้ว

    ช่วยหน่อยครับ ของทำตามทุกอย่างแล้ว แต่มันไม่ยอมแจ้งเตือนครับ

    • @ฮัมบะลีย์วาจิ
      @ฮัมบะลีย์วาจิ ปีที่แล้ว

      function onEdit(e) {
      var ss = SpreadsheetApp.openById('1JS3F7Yphze7K-ZiaJmqCfh6wajY94fXixAXCH9igfEQ')
      var sheet= ss.getSheetByName('ลงคะแนน')
      var editcell = sheet.getActiveCell();
      if(editcell.getValue() !== ''){
      var col ={}
      col.edited = editcell.getColumn();
      col.name = 1
      col.list = 2
      col.language = 3
      col.score = 4
      // col.picture = 5
      var row = {}
      row.edited = editcell.getRow();
      row.last = sheet.getLastRow();
      var msg = ''
      var pic = ''
      var token = ''
      switch(col.edited){
      case col.score :
      token = 'gcL0VBBSEm0iICzq9y9hQL6hqTcQORMFZu2pGvrhJMK'
      msg += '
      '
      msg += 'รายงานการบันทึกคะแนนงานมหกรรมทักษะภาษา 2_2565'
      msg += sheet.getRange(row.edited, col.name).getValue() +'
      '
      msg += 'การแข่งขัน : ' + sheet.getRange(row.edited, col.list).getValue() +'
      '
      msg += 'หมวด : ' + sheet.getRange(row.edited, col.language).getValue() +'
      '
      msg += 'ได้คะแนน : ' + sheet.getRange(row.edited, col.score).getValue() + ' คะแนน' + '
      '
      // pic = sheet.getRange(row.edited, col.picture).getValue()
      notify (msg ,token)
      break
      }
      }
      }
      function notify(messages ,token){
      var url = 'notify-api.line.me/api/notify'
      var opt = {
      "Method" : "post" ,
      "payload" : {
      "message" : messages
      },
      // imageThumbnail : img ,
      // imageFullsize : img },
      "headers": { "Authorization": "Bearer " + token }
      };
      UrlFetchApp.fetch(url, opt);
      }

    • @iton5
      @iton5  ปีที่แล้ว

      ดูทริกเกอร์ด้วยนะครับ

    • @ฮัมบะลีย์วาจิ
      @ฮัมบะลีย์วาจิ ปีที่แล้ว +1

      @@iton5 ทำแล้วครับ

    • @iton5
      @iton5  ปีที่แล้ว +1

      สุดยอดครับ

    • @ฮัมบะลีย์วาจิ
      @ฮัมบะลีย์วาจิ ปีที่แล้ว +1

      ทริกเกอร์นั้น ทำแล้วครับ แต่ก็ยังไม่แจ้งเตือนในไลน์อยู่ดีครับ ช่วยเช็คโค๊ดผมหน่อยครับ

  • @อาณัฐพงศ์สุพรรณชาติ

    ทำยังไงคะขึ้น execution completeแต่ไม่แจ้งอะไรมาเลย

  • @ครูเอรากหญ้า
    @ครูเอรากหญ้า ปีที่แล้ว

    ขอโค้ดหน่อยครับ

    • @iton5
      @iton5  ปีที่แล้ว

      โค๊ดในคลิปเลยครับ

  • @tonjiza
    @tonjiza 2 ปีที่แล้ว +1

    code ประยุกต์ต่อให้สามารถส่งมากกว่า1รูปได้มั้ยครับ

    • @iton5
      @iton5  2 ปีที่แล้ว +1

      1 รูป 1 ข้อความ ต่อการส่ง 1 ครั้ง
      ถ้าต้องการส่งหลายรูป ต้องส่งหลายครั้งครับ

  • @นพเก้าตุลาทอง-ฐ6ฦ
    @นพเก้าตุลาทอง-ฐ6ฦ 8 หลายเดือนก่อน +1

    ขอบคุณมากๆครับ

    • @iton5
      @iton5  8 หลายเดือนก่อน

      ยินดีครับ ขอบคุณเช่นกันที่รับชมครับ

  • @อาณัฐพงศ์สุพรรณชาติ

    สามารถทำให้แจ้งเตือนเมื่อค่าในcellต่ำกว่าค่าที่เรากำหนดได้มั้ยคะ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ได้ครับใช้ if() เป็นเงื่อนไข

  • @howru4520
    @howru4520 2 ปีที่แล้ว +1

    แล้วถ้าจะเอาภาพจากในเครื่องเราละครับ

    • @iton5
      @iton5  2 ปีที่แล้ว

      ต้องเขียนโค๊ดเพิ่มการส่งเข้า storage เราก่อน แล้วค่อยส่งเข้า notify ในการรันแสดงผลครับ