การส่งไฟล์แบบ 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 = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(), emailaddress= “”, subject = “”, docUrl = “”; for (var i=0 ; i < dataRows.length ; i++) { emailText=””; subject = “[ลับ] กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1]; var id =DriveApp.getFileById(TemplateID).makeCopy(subject).getId(), doc=DocumentApp.openById(id), docBody=doc.getBody(); for (var j = 0 ; j < numColumns -1 ; j++) { docBody.replaceText(‘{‘ + headerRow[0][j] + ‘}’ , dataRows[i][j]); } emailaddress=dataRows[i][2]; doc.addViewer( emailaddress); docUrl=doc.getUrl(); doc.saveAndClose(); var attachment = DocumentApp.openById(id); MailApp.sendEmail( emailaddress, subject , “เปิดอ่านเอกสารลับได้ที่ \n” + docUrl ); try { dataRows[i][numColumns-1] = new Date(); } catch (e) { dataRows[i][numColumns-1] = e.message; } } SalarySheet.getRange(data).setValues(dataRows); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > MailMerge4 สร้าง function MailMerge5() ตามนี้ function MailMerge5() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateID=’1WzzAwF5cDtQD0kcrLKRdP0ZO6-6MCqc_VXRUxzgq_gI’, header = “A1:H1″, data=”A2:H6”, dataRows = SalarySheet.getRange(data).getValues(), headerRow = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(), emailaddress= “”, subject = “”, docUrl = “”; for (var i=0 ; i < dataRows.length ; i++) { emailText=””; subject = “[ลับสุดยอดดดดด] กองคลัง :

Read More »

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

Ransomware หรือ โปรแกรมเรียกค่าไถ่ไฟล์ต่างๆ โดยการเข้ารหัสไฟล์เหล่านั้น ทำให้ไม่สามารถเปิดใช้งานได้อีก นอกจากจะยอมเสียค่าไถ่ให้กับผู้ร้ายด้วยเงินสกุล Bitcoin โปรแกรมเหล่านี้จะมาจากการติดตั้ง หรือถูกหลอกให้ติดตั้ง ผ่านทางเว็บไซต์ “อโคจร” ต่างๆ Software เถื่อน ละเมิดลิขสิทธิ์ทั้งหลาย และที่มีบ่อยมากคือ มาจาก “จดหมายหลอกลวง (Phishing)” ซึ่งทำให้ติดเชื้อได้อย่างง่ายดาย ข้อมูลเพิ่มเติม https://www.thaicert.or.th/alerts/user/2015/al2015us001.html เมื่อติด หรือ โดนเรียกค่าไถ่ เรียกได้ว่า ยากมากหรือแทบเป็นไปไม่ได้ที่จะกู้คืนโดยการ Decrypt  หรือถอดรหัสกลับคืน มีวิธีการเดียวที่ทำได้เลยคือ “กู้คืนจากไฟล์สำรองไว้” บนระบบปฏิบัติการ Microsoft Windows เอง ก็สามารถทำได้ โดยผู้ใช้จะต้อง “ตั้งค่าการสำรองข้อมูล” ไว้ก่อน จึงจะสามารถกู้คืนได้ แต่หากเครื่องคอมพิวเตอร์เครื่องนั้นเสียหาย ก็จะไม่สามารถกู้คืนได้อีกเลย แต่ยังมีวิธีการ “สำรองและกู้คืน” ที่ง่าย ปลอดภัย และแม้ว่าเครื่องคอมพิวเตอร์จะเสียหายอย่างไร ก็จะสามารถ “กู้คืนข้อมูลได้” นั่นคือการใช้งาน Google Drive ในการสำรองข้อมูล โดยผู้ที่มี Google Account หรือ Gmail สามารถใช้งานได้ทันที โดยมีพื้นที่ให้ 15 GB (รวมกับการเก็บ email) ส่วนผู้ใช้ในมหาวิทยาลัยสงขลานคริทนร์ จะได้ใช้ Google Apps for Education ซึ่งมีพื้นที่ในการจัดเก็บ “Unlimited” หรือไม่มีขีดจำกัดเลยทีเดียว (เบื้องต้นจะเห็นพื้นที่จัดเก็บ 10 TB — 10,000 GB) Google Drive เป็นพื้นที่จัดเก็บข้อมูลบนก้อนเมฆ หรือ Cloud Storage ผู้ใช้ของ Google Account สามารถเข้าถึงได้ที่ https://drive.google.com เมื่อทำการลงชื่อเข้าใช้งาน (Sign In)  แล้วก็จะสามารถมองเห็นข้อมูลบนระบบ สามารถสร้าง Folder และ Upload ไฟล์ขึ้นไปเก็บได้ และสามารถเข้าถึงได้จากทั้ง เครื่องคอมพิวเตอร์ และ Smartphone ได้จากทุกแห่งทั่วโลก ดังภาพที่ 1 (โดยต้องมีระบบ Internet เข้าถึงนะ)   ภาพที่ 1: Google Drive บนระบบ Google Apps for Education ของมหาวิทยาลัยสงขลานครินทร์ ในที่นี้ จะแสดงวิธีการ สร้างโฟล์เดอร์ชื่อว่า “เอกสารสำคัญ” ไว้บน Google Drive เพื่อใช้ในการสำรองไฟล์สำคัญไว้ ขั้นตอนคือ คลิกที่ New > Folder แล้วตั้งชื่อว่า “เอกสารสำคัญ” แล้วคลิกปุ่ม Create ดังภาพที่ 2 ภาพที่ 2: สร้างโฟล์เดอร์ชื่อว่า “เอกสารสำคัญ” ไว้บน Google Drive ส่วนการทำงานเพื่อ Backup ข้อมูลบนเครื่องคอมพิวเตอร์ไปเก็บไว้บนระบบ Google Drive อัตโนมัติ ทำได้โดยติดตั้งโปรแกรม “Google Drive” บนเครื่องคอมพิวเตอร์ แล้วตั้งค่าให้ Sync ข้อมูลกับโฟลเดอร์ “MyGoogleDrive” ใน My Documents ของเครื่องคอมพิวเตอร์ ดังวิธีการต่อไปนี้ Google Drive สามารถดาว์นโหลดได้จาก https://www.google.com/drive/download/ เมื่อติดตั้งเรียบร้อยแล้วให้ลงชื่อเข้าใช้ และคลิก Next ไปเรื่อยๆ ดังภาพที่ 3 ภาพที่ 3: คลิก “ถัดไป” จนถึงหน้าจอสุดท้าย หน้าจอสุดท้าย คลิก “การตั้งค่าขั้นสูง” ดังภาพที่ 4 ภาพที่ 4: คลิก “การตั้งค่าขั้นสูง” คลิก “เปลี่ยน” แล้วสร้าง MyGoogleDrive ไว้ใน My Documents ดังภาพที่ 5 ภาพที่ 5: สร้าง MyGoogleDrive ไว้ใน My Documents ต่อไป เลือก

Read More »

การส่ง 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 = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(), emailText = “”; for (var i=0 ; i < dataRows.length ; i++) { emailText=””; var id =DriveApp.getFileById(TemplateID).makeCopy(“กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1]).getId(), doc=DocumentApp.openById(id), docBody=doc.getBody(); for (var j = 0 ; j < numColumns -1 ; j++) { docBody.replaceText(‘{‘ + headerRow[0][j] + ‘}’ , dataRows[i][j]); } emailText=docBody.getText(); doc.saveAndClose(); var emailaddress=dataRows[i][2], subject = “กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1], attachment = DocumentApp.openById(id); MailApp.sendEmail( emailaddress, subject , emailText, { attachments: [attachment.getAs(MimeType.PDF)] } ); try { dataRows[i][numColumns-1] = new Date(); } catch (e) { dataRows[i][numColumns-1] = e.message; } } SalarySheet.getRange(data).setValues(dataRows); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > MailMerge3

Read More »

การสร้างไฟล์ 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 = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(); for (var i=0 ; i < dataRows.length ; i++) { var id =DriveApp.getFileById(TemplateID).makeCopy(“กองคลัง : แจ้งการโอนเงินให้คุณ ” + dataRows[i][0] + ” ” + dataRows[i][1]).getId(), doc=DocumentApp.openById(id), docBody=doc.getBody(); for (var j = 0 ; j < numColumns -1 ; j++) { docBody.replaceText(‘{‘ + headerRow[0][j] + ‘}’ , dataRows[i][j]); } doc.saveAndClose(); var pdfFile = DriveApp.createFile(doc.getAs(MimeType.PDF)); try { dataRows[i][numColumns-1] = new Date(); } catch (e) { dataRows[i][numColumns-1] = e.message; } } SalarySheet.getRange(data).setValues(dataRows); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > MailMerge2

Read More »

แทนที่ข้อความ ด้วยค่าใน 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} บาท โอนให้คุณในวันที่ {TransferDate} A3: จึงเรียนมาเพื่อทราบ A4: การเงิน เมนู Tools > Script Editor… เมนู File > New > Script File ตั้งชื่อ: myscript5 เขียนโค๊ดตามนี้ function MailMerge1() { var ss = SpreadsheetApp.getActiveSpreadsheet(), SalarySheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Salary”)), TemplateSheet=SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Template”)), header = “A1:G1″, data=”A2:G6″, template=”A1:A4”, dataRows = SalarySheet.getRange(data).getValues(), headerRow = SalarySheet.getRange(header).getValues(), numColumns = SalarySheet.getRange(header).getNumColumns(), templateRows= TemplateSheet.getRange(template).getValues(); for (var i=0 ; i < dataRows.length ; i++) { var newText = templateRows[0][0] + “\n” + “\t” + templateRows[1][0] + “\n” + “\t” + templateRows[2][0] + “\n” + templateRows[3][0] + “\n”; for (var j = 0 ; j < numColumns -1 ; j++) { newText = newText.replace(‘{‘ + headerRow[0][j] + ‘}’, dataRows[i][j]); } try { dataRows[i][numColumns-1] = new Date(); } catch (e) { dataRows[i][numColumns-1] = e.message; } Logger.log(newText); } SalarySheet.getRange(data).setValues(dataRows); } เมนู File > Save หรือ กดปุ่ม Ctrl+s เมนู Run > MailMerge1 ดูผลได้ที่ เมนู View > Logs หรือ กดปุ่ม Ctrl+Enter

Read More »