Category: Google Apps

ใช้ google script ทำ mail merge เนื้อหาเมลที่มี link

ผมใช้ Yet another mail merge ซึ่งเป็น add-on เพื่อส่งอีเมลเรื่องเดียวกันไปยังเพื่อนๆจำนวนหนึ่ง ก็ใช้งานได้ดีมา 5 ครั้งแล้ว แต่พอครั้งหลังนี้ ผมต้องการส่งอีเมลที่ในเนื้อหามี link ให้ผู้ที่รับอีเมลสามารถคลิกเพื่อเปิดอ่านได้ แต่ลองหลายวิธีที่จะส่งด้วยวิธีที่เคยใช้ add-on ตัวนี้ก็จะแสดงเป็นข้อความ ไม่แสดงเป็น link ในอีเมล (อันนี้ต้องบอกก่อนว่า คาดว่าผู้ใช้ส่วนใหญ่ใช้โปรแกรมอีเมลที่มีการแสดงผลมากกว่าข้อความธรรมดา) ค้นหาดูก็พบว่า ต้องเปลี่ยนวิธีทำมาเป็นวิธีเขียน google script เพื่อส่ง mail merge แทน วิธีทำ ดังนี้ 1. สร้าง google sheet ตั้งชื่อ myusers 1.1…

การแสดงผลจำนวน Quota การส่งอีเมลที่ยังเหลืออยู่ในรอบ 24 ชั่วโมง

ปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function remainDailQuota() ตามนี้ function remainDailQuota() { // https://developers.google.com/apps-script/guides/services/quotas var emailQuotaRemaining = MailApp.getRemainingDailyQuota(); var emailaddress=Session.getActiveUser().getEmail(); var subject=”Email Quota Remaining”; MailApp.sendEmail( emailaddress,…

การส่งไฟล์แบบ Top Secret!

ปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function MailMerge4() ตามนี้ function MailMerge4() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1bjpQnJikYMGYNaJQhetpZpkHyjI7iqBqDufprzMSo4k’, header = “A1:G1″, data=”A2:G6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow…

วิธีกู้ไฟล์ที่ถูก Ransomware จับไปเรียกค่าไถ่

Ransomware หรือ โปรแกรมเรียกค่าไถ่ไฟล์ต่างๆ โดยการเข้ารหัสไฟล์เหล่านั้น ทำให้ไม่สามารถเปิดใช้งานได้อีก นอกจากจะยอมเสียค่าไถ่ให้กับผู้ร้ายด้วยเงินสกุล Bitcoin โปรแกรมเหล่านี้จะมาจากการติดตั้ง หรือถูกหลอกให้ติดตั้ง ผ่านทางเว็บไซต์ “อโคจร” ต่างๆ Software เถื่อน ละเมิดลิขสิทธิ์ทั้งหลาย และที่มีบ่อยมากคือ มาจาก “จดหมายหลอกลวง (Phishing)” ซึ่งทำให้ติดเชื้อได้อย่างง่ายดาย ข้อมูลเพิ่มเติม https://www.thaicert.or.th/alerts/user/2015/al2015us001.html เมื่อติด หรือ โดนเรียกค่าไถ่ เรียกได้ว่า ยากมากหรือแทบเป็นไปไม่ได้ที่จะกู้คืนโดยการ Decrypt  หรือถอดรหัสกลับคืน มีวิธีการเดียวที่ทำได้เลยคือ “กู้คืนจากไฟล์สำรองไว้” บนระบบปฏิบัติการ Microsoft Windows เอง ก็สามารถทำได้ โดยผู้ใช้จะต้อง “ตั้งค่าการสำรองข้อมูล” ไว้ก่อน จึงจะสามารถกู้คืนได้ แต่หากเครื่องคอมพิวเตอร์เครื่องนั้นเสียหาย…

การส่ง email ถึงผู้รับตามที่กำหนด พร้อมแนบข้อความ/ไฟล์ที่ต้องการ

ปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function MailMerge3() ตามนี้ function MailMerge3() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1bjpQnJikYMGYNaJQhetpZpkHyjI7iqBqDufprzMSo4k’, header = “A1:G1″, data=”A2:G6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow…

การสร้างไฟล์ PDF จากข้อความที่ต้องการ

เปิด Google Sheets : GASWS1 เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript6 สร้าง function MailMerge2() ตามนี้ function MailMerge2() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1bjpQnJikYMGYNaJQhetpZpkHyjI7iqBqDufprzMSo4k’, header = “A1:G1″, data=”A2:G6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow…

แทนที่ข้อความ ด้วยค่าใน Google Sheets

เปิด Google Sheets : GASWS1 สร้าง Sheet ใหม่ ชื่อ “Salary” ใส่ข้อมูล A1 = “Firstname” B1=”Lastname” C1=”Email” D1=”SalaryDetail” E1=”Salary” F1=”TransferDate” จากนั้น ให้กรอกข้อมูลต่างๆ จำนวน 5 แถว ดังภาพ สร้าง Sheet ใหม่ ชื่อ “Template” ใส่ข้อมูล A1: เรียน คุณ{Firstname} {Lastname} A2: จะมี {SalaryDetail} จำนวน {Salary} บาท โอนให้คุณในวันที่…

เทคนิคการอ่านค่าจากเว็บไซต์ที่มีการเปลี่ยนแปลง (ราคาหุ้น) มาเก็บไว้บน Google Sheets

มีโจทย์ว่าต้องการคำนวนค่า Indicator ชื่อ RSI ของกองทุนรวมในต่างประเทศ ซึ่งปิดการซื้อขายเวลา 04:00 ของเวลาในประเทศไทย ทางกองทุนจะประกาศราคา (NAV) ในเวลาประมาณ 09:00 แต่ในการตัดสินใจลงทุน จะต้องพิจารณาค่า RSI ซึ่งกองทุนจะคำนวนและประกาศให้ประมาณ 12:00 ซึ่งบางทีก็หลงลืม และไม่ทันการ การคำนวนค่า RSI ใช้ค่าการเปลี่ยนแปลงของราคา แบ่งเป็น Gain และ Loss แล้วมาหาค่าเฉลี่ยและเข้าสูตรคำนวน (ไม่ขอกล่าวถึง หากต้องการทราบข้อมูลเพิ่มเติม อ่าน http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi) สรุปคือ หากต้องการทราบค่า RSI ก่อนที่ทางกองทุนจะประกาศให้ ก็ต้องคำนวนเอง โดยจดค่าการเปลี่ยนแปลงของราคาในแต่ละวันซึ่งเป็นงานที่น่าเบื่อ จึงต้องหาวิธีลดภาระ แนวคิดคือ เว็บไซต์ http://www.bloomberg.com/quote/WGHCEPA:ID ซึ่งจะประกาศราคา…

เริ่มต้นใช้งาน GAS Editor

เปิด https://drive.google.com แล้ว Login คลิกปุ่ม New > Google Sheets ตั้งชื่อไฟล์: GASWS1 เมนู Tools > Script Editor เลือก Blank Project ตั้งชื่อโปรเจค : myproject1 เมนู File > New > Script File ตั้งชื่อ: myscript1 แก้ไข myFunction() ตามนี้ function myFunction() { Logger.log(“Hello World”); }…