Author: kanakorn.h

  • วิธีกู้ไฟล์ที่ถูก 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 เข้าถึงนะ)

    01-googledrivepsu

     

    ภาพที่ 1: Google Drive บนระบบ Google Apps for Education ของมหาวิทยาลัยสงขลานครินทร์

    ในที่นี้ จะแสดงวิธีการ สร้างโฟล์เดอร์ชื่อว่า “เอกสารสำคัญ” ไว้บน Google Drive เพื่อใช้ในการสำรองไฟล์สำคัญไว้ ขั้นตอนคือ คลิกที่ New > Folder แล้วตั้งชื่อว่า “เอกสารสำคัญ” แล้วคลิกปุ่ม Create ดังภาพที่ 2

    02-newfolder เอกสารสำคัญ

    ภาพที่ 2: สร้างโฟล์เดอร์ชื่อว่า “เอกสารสำคัญ” ไว้บน Google Drive

    ส่วนการทำงานเพื่อ Backup ข้อมูลบนเครื่องคอมพิวเตอร์ไปเก็บไว้บนระบบ Google Drive อัตโนมัติ ทำได้โดยติดตั้งโปรแกรม “Google Drive” บนเครื่องคอมพิวเตอร์ แล้วตั้งค่าให้ Sync ข้อมูลกับโฟลเดอร์ “MyGoogleDrive” ใน My Documents ของเครื่องคอมพิวเตอร์ ดังวิธีการต่อไปนี้

    1. Google Drive สามารถดาว์นโหลดได้จาก https://www.google.com/drive/download/
    2. เมื่อติดตั้งเรียบร้อยแล้วให้ลงชื่อเข้าใช้ และคลิก Next ไปเรื่อยๆ ดังภาพที่ 303-installgoogledrive
      ภาพที่ 3: คลิก “ถัดไป” จนถึงหน้าจอสุดท้าย
    3. หน้าจอสุดท้าย คลิก “การตั้งค่าขั้นสูง” ดังภาพที่ 404-advance
      ภาพที่ 4: คลิก “การตั้งค่าขั้นสูง”
    4. คลิก “เปลี่ยน” แล้วสร้าง MyGoogleDrive ไว้ใน My Documents ดังภาพที่ 506-MyGoogleDrive
      ภาพที่ 5: สร้าง MyGoogleDrive ไว้ใน My Documents
    5. ต่อไป เลือก “เลือกเฉพาะโฟล์เดอร์เหล่านี้”  แล้ว เอาเฉพาะ “เอกสารสำคัญ” แล้วคลิก “เริ่มการซิงค์” ดังภาพที่ 607-syncspecificfolder
      ภาพที่ 5: เลือกเฉพาะ “เอกสารสำคัญ”
    6. สักครู่ระบบก็จะทำการ Sync เมื่อเสร็จสิ้น จะได้ผลดังภาพที่ 608-syncsuccess
      ภาพที่ 6: Sync “เอกสารสำคัญ” เสร็จแล้ว

    ให้นำเอกสารสำคัญต่างๆมาใส่ไว้ใน “เอกสารสำคัญนี้” ระบบก็จะทำการ Sync ขึ้นไปบน Google Drive แล้ว และ การแก้ไขเปลี่ยนแปลงไฟล์ในโฟล์เดอร์นี้ จะถูกสำรองเอาไว้

    ต่อไป มาดูกันว่า เมื่อมีการแก้ไขไฟล์เอกสารชื่อ “doc1.docx” ระบบ Google Drive จะสำรองข้อมูลเอาไว้ให้ตลอด และสามารถกู้คืนรุ่นของเอกสารได้ ดังภาพที่ 7

    12-sequence

     

    ภาพที่ 7: แสดงเวลากับการแก้ไขข้อความ

    สิ่งที่ Google Drive สำรองไว้ให้ สามารถดูได้จากการ คลิกขวาที่ไฟล์นั้นๆ แล้วเลือก “Manage Version” ดังภาพที่ 8

    13-manageversion

    ภาพที่ 8: การเลือก Manage Versions

    จากนั้น สามารถหากต้องการย้อนเวลา ไปเอาไฟล์นี้ ขณะที่ยังมีข้อความและรูปภาพ ก็คลิกที่เวลา 14:56 แล้วเลือก Download ออกมาทับไฟล์เดิม หรือ เก็บไว้ที่อื่นบนเครื่องคอมพิวเตอร์ก็ได้ ดังภาพที่ 9

    14-restore1456

    ภาพที่ 9: เลือก Version 2 ที่บันทึกเมื่อเวลา 14:56 แล้ว download ไฟล์ออกมา

    ผลที่ได้คือ ไฟล์เดิมที่มีข้อความและภาพ ที่บันทึกเมื่อเวลา 14:56 ดังภาพที่่ 10

    09-doc1.docx

     

    ภาพที่ 10: ไฟล์ที่ถูกแก้ไขไปแล้ว ก็สามารถกู้กลับมาได้

    ในกรณีที่ไฟล์นี้ ถูก “ลบ” ทิ้ง ไม่ว่าจะโดยตั้งใจ หรือ ถูก Ransomware ลบทิ้งแล้วเหลือไว้แต่ไฟล์ที่เปิดไม่ได้ก็ตาม ดังภาพที่ 11  ก็สามารถกู้กลับมาได้

    15-deletedfile

    ภาพที่ 11: ไฟล์ doc1.docx ถูกลบหายไปจาก “เอกสารสำคัญ” บนเครื่องคอมพิวเตอร์แล้ว

    การกู้ไฟล์ที่ถูกลบไปแล้ว ต้องทำจากบน Google Drive ผ่านทางเว็บเบราเซอร์ โดยเข้าไปใน “เอกสารสำคัญ” แล้วคลิกตัว i ด้านขวามือบน แล้วคลิกที่คำว่า Activity จะพบว่า มีการลบ หรือจริงๆแล้วคือการย้ายไฟล์ไปลง Bin นั่นเอง ดังภาพที่ 12

    16-detailactivity

    ภาพที่ 12: แสดงให้เห็นว่าไฟล์ที่ถูกลบ ไปเก็บอยู่ใน Bin ของ Google Drive

    การกู้ไฟล์นี้คืนมา ก็เพียงคลิกที่ชื่อไฟล์ doc1.docx แล้วคลิกรูปแว่นขยาย จากนั้นระบบจะนำไปสู่ Bin หลังจากนั้น ให้คลิกขวาที่ doc1.docx แล้วเลือก Restore ตามภาพที่ 13:

    17-restore

    ภาพที่ 13: วิธีการ Restore ไฟล์ doc1.docx

    ผลก็คือ ได้ไฟล์ที่ถูกลบทิ้งกลับคืนมา ดังภาพที่ 14

    18-restorecomplete

    ภาพที่ 14: การกู้ไฟล์เสร็จสมบูรณ์

    หวังว่าจะเป็นประโยชน์ครับ

     

     

     

     

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

    1. ปิด Google Sheets : GASWS1
    2. เมนู Tools > Script Editor…
    3. เมนู File > New > Script File
      ตั้งชื่อ: myscript6
    4. สร้าง 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);
      }
    5. เมนู File > Save หรือ กดปุ่ม Ctrl+s
    6. เมนู Run > MailMerge3
  • การสร้างไฟล์ PDF จากข้อความที่ต้องการ

    1. เปิด Google Sheets : GASWS1
    2. เมนู Tools > Script Editor…
    3. เมนู File > New > Script File
      ตั้งชื่อ: myscript6
    4. สร้าง 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);
      }
    5. เมนู File > Save หรือ กดปุ่ม Ctrl+s
    6. เมนู Run > MailMerge2
  • แทนที่ข้อความ ด้วยค่าใน Google Sheets

    1. เปิด Google Sheets : GASWS1
    2. สร้าง Sheet ใหม่ ชื่อ “Salary”
    3. ใส่ข้อมูล
      A1 = “Firstname”
      B1=”Lastname”
      C1=”Email”
      D1=”SalaryDetail”
      E1=”Salary”
      F1=”TransferDate”
    4. จากนั้น ให้กรอกข้อมูลต่างๆ จำนวน 5 แถว ดังภาพ
      Capture
    5. สร้าง Sheet ใหม่ ชื่อ “Template”
    6. ใส่ข้อมูล
      A1: เรียน คุณ{Firstname} {Lastname}
      A2: จะมี {SalaryDetail} จำนวน {Salary} บาท โอนให้คุณในวันที่ {TransferDate}
      A3: จึงเรียนมาเพื่อทราบ
      A4: การเงิน
    7. เมนู Tools > Script Editor…
    8. เมนู 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);
       
      }
    9. เมนู File > Save หรือ กดปุ่ม Ctrl+s
    10. เมนู Run > MailMerge1
    11. ดูผลได้ที่ เมนู View > Logs หรือ กดปุ่ม Ctrl+Enter
  • spam 20150515

    นี่คือจดหมายหลอกลวง อย่าหลงเชื่อ ห้ามคลิก หรือ Reply ให้ลบทิ้งทันทีspam-20150515

  • เทคนิคการอ่านค่าจากเว็บไซต์ที่มีการเปลี่ยนแปลง (ราคาหุ้น) มาเก็บไว้บน 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 ซึ่งจะประกาศราคา NAV ในเวลา 09:00 นั้น หากเปิด HTML ดูจะพบว่าข้อมูลที่ต้องการจะอยู่ในรูปแบบของ

    ...
    <meta itemprop="price" content="46.92">
    ...
    <meta itemprop="priceChange" content="0.16">
    ...
    <meta itemprop="priceChangePercent" content="0.34">
    ...
    <meta itemprop="quoteTime" content="2015-05-11T00:59:30-0400">

    จากนั้น สร้าง Function ตามนี้

    function getWGHCEPA(){
     var content=UrlFetchApp.fetch("http://www.bloomberg.com/quote/WGHCEPA:ID");
     //'<meta itemprop="priceChange" content="0.16">';
     var data = content.getContentText().match(/meta itemprop="(.*)" content="(.*)"/mg );
     
     var id="xxxxxxxxxxxxxxxxxxxx Your file ID xxxxxxxxxxxxxx";
     var db=SpreadsheetApp.openById(id);
     var table=db.setActiveSheet(db.getSheetByName("Data"));
     
     var result=[];
     for (var i=0; i<data.length; i++){
     var temp=data[i].match(/meta itemprop="(.*)" content="(.*)"/); 
     result[temp[1]]=temp[2];
     } 
     
     table.appendRow([result["quoteTime"], result["price"], result["priceChange"], result["priceChangePercent"]]);
     
    }

    จากนั้น ตั้ง Trigger ให้ทำงานวันละครั้ง เวลาตั้งแต่ 09:00-10:00 เป็นอันเรียบร้อย

    wghcepa-trigger

    ผลที่ได้

    wghcepa-result

  • ชีวิตสะดวกและปลอดภัยด้วยการ Sign In บน Google Chrome

    เคยเจอปัญหาเหล่านี้เมื่อต้องไปใช้งานเครื่องอื่นที่ไม่ใช่เครื่องตนเองหรือไม่ ?

    1. จะเข้าเว็บไซต์ที่เคย Bookmark เอาไว้ในเครื่องตนเอง ก็ทำไม่ได้
    2. ทำไงดีรหัสผ่านมากมาย เคยให้เว็บจำไว้ให้ แล้วตอนนี้จะใช้งานยังไงหล่ะ
    3. สภาพแวดล้อมไม่คุ้นชินเมื่อไปใช้เครื่องอื่น

    ปัญหาเหล่านี้จะหมดไป เมื่อใช้ Google Chrome และ ทำการ Sign In เอาไว้

    คำเตือน:

    1. ผู้ที่จะใช้วิธีการนี้ ควรทำระบบ 2-Step Verification ไว้ก่อน เพื่อป้องกันรหัสผ่านรั่วไหล และป้องกัน กรณีมี Keyboard Logger ฝังตัวเพื่อดักการพิมพ์รหัสผ่านจาก Keyboard ซึ่งแม้จะมีผู้ร้ายดักรหัสผ่านไปได้ ก็จะติดขั้นตอนการยืนยันตัวตนอีกชั้นของ 2-Step Verification
    2. กรณีผู้ใช้ Google Apps ขององค์กร (ทั้ง For Education และ For Business) ระบบจะทำการสร้าง Profile แยกให้ แต่ถ้าเป็น Google Account ของ Gmail นั้น จะต้องทำการ Create Profile เอง แล้วจึง Sign In เข้าไป มิฉะนั้นข้อมูลของเราจะไปปะปนกับของผู้ใช้ทั่วไป ซึ่งไม่ปลอดภัยอย่างยิ่ง
    3. วิธีการนี้ ผู้ใช้ต้อง “Remove This Person” ทุกครั้งเมื่อจบการใช้งาน (จะอธิบายต่อไป)

    วิธีการใช้งาน

    1. เปิด Google Chrome ขึ้นมาScreenshot from 2015-05-11 09:22:24
    2. ด้านขวามือบน ใกล้ๆ Tools Box คลิกรูป “คน” ดังภาพ แล้วคลิก Sign in to ChromeScreenshot from 2015-05-11 09:23:38
    3. ใส่ Google Account (Gmail Account)  หรือ Google Apps Account (Google Apps For Education/Business) และรหัสผ่าน จากนั้นคลิก Sign In สำหรับท่านที่ทำ 2-Step Verification จะพบหน้าต่างให้ใส่ Code ก็ให้ดำเนินการตามปรกติไปScreenshot from 2015-05-11 09:25:20
    4. สำหรับบัญชี Google Apps ขององค์กร จะแสดงหน้าต่างให้เลือกว่า จะสร้าง Profile ใหม่หรือไม่ แนะนำให้คลิกปุ่ม Create a new profileScreenshot from 2015-05-11 09:27:20
    5. ต่อไป คลิกปุ่ม “Ok, got it”Screenshot from 2015-05-11 09:28:20
    6. ใช้เวลาไม่นาน ระบบจะ Sync ข้อมูล Apps, Autofill, Bookmark, Extensions, History, Password, Settings, Themes, Opentabs มาให้ (สามารถเลือกได้ว่าจะ Sync อะไรมาบ้างได้) และทำการเข้ารหัส รหัสผ่านไว้ด้วย (เลือกได้ว่าจะเข้ารหัสด้วย Google Credential หรือจะสร้าง Paraphrase แยกต่างหาก — ในที่นี้ เลือกเป็น Google Credential) คราวนี้ ก็จะสามารถใช้งานได้เหมือนนั่งอยู่ที่เครื่องตนเองอีกทั้งวิธีการนี้ จะสามารถใช้งานได้ทั้งบน Smartphone และ Tablet ได้ด้วย ทำให้เมื่อ Save Bookmark เอาไว้บนคอมพิวเตอร์ ก็สามารถไปเปิดดูได้บน Tablet ได้ทันทีScreenshot from 2015-05-11 09:32:15
    7. เมื่อเลิกใช้งาน ให้ทำตามข้อ 2. แล้วคลิก Switch User แทน จากนั้น ที่รูป Profile ด้านมุมขวา คลิก Remove this personScreenshot from 2015-05-11 09:37:38
    8. คลิก Remove this person อีกครั้งเพื่อยืนยันScreenshot from 2015-05-11 09:37:46
    9. เท่านี้ ข้อมูลก็จะปลอดภัยแล้ว 😉Screenshot from 2015-05-11 09:38:31
    10. หากต้องการปรับแต่งเรื่อง สิ่งที่ต้องการจะ Sync ให้เปิด chrome://settings/syncSetup แล้วเลือกสิ่งต่างๆได้ตามต้องการScreenshot from 2015-05-11 09:41:35
    11. สลับหลาย user ได้แบบไม่ต้องกลัวว่าระบบ Single Sign-On จะตีกัน 😉 เพราะแยก Profile ออกไปชัดเจน ไม่ต้องคอย Login – Logout ข้ามไปมาตลอดเวลา
      chrome-multiuser

    ชีวิตดี๊ดี 😉

    หวังว่าจะเป็นประโยชน์ครับ

  • Spam 20150508

    นี่คือจดหมายหลอกลวง อย่าหลงเชื่อ ห้ามคลิก หรือ Reply ให้ลบทิ้งทันทีScreenshot from 2015-05-08 13:23:47

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

    1. เปิด https://drive.google.com แล้ว Login
    2. คลิกปุ่ม New > Google Sheets
    3. ตั้งชื่อไฟล์: GASWS1
    4. เมนู Tools > Script Editor
    5. เลือก Blank Project
    6. ตั้งชื่อโปรเจค : myproject1
    7. เมนู File > New > Script File
    8. ตั้งชื่อ: myscript1
    9. แก้ไข myFunction() ตามนี้
      function myFunction() {
       Logger.log("Hello World");
      }
      
    10. เมนู File > Save หรือ กดปุ่ม Ctrl+s
    11. เมนู Run > myFunction
    12. ดูผลได้ที่ เมนู View > Logs หรือ กดปุ่ม Ctrl+Enter
    13. สร้าง function myForLoop ดังนี้
    14. function myForLoop(){
      for (var i=1; i<=10 ; i++) {
      myFunction();
      }
      }
    15. แล้ว Save ด้วย กดปุ่ม Ctrl+s
    16. เมนู Run > myForLoop
    17. ดูผลได้ที่ เมนู View > Logs หรือ กดปุ่ม Ctrl+Enter
    18. เมนู File > New > Script File
    19. ตั้งชื่อ myscript2
    20. สร้าง function myDate ดังนี้
    21. function myDate() {
      Logger.log(new Date());
      }
    22. แล้ว Save ด้วย กดปุ่ม Ctrl+s
    23. เมนู Resources > All yours triggers
    24. คลิก No triggers set up. Click here to add one now.
    25. ตั้งค่า
      Run = myDate
      Event = Time-driven
      แล้วเลือกเป็น Minutes timers และ Every minute
      จากนั้นคลิกปุ่ม Save
    26. ดูผลได้ที่ เมนู View > Logs หรือ กดปุ่ม Ctrl+Enter