วันจันทร์ที่ 28 เมษายน พ.ศ. 2568

เชื่อมโยงฐานข้อมูล Firebase กับ Canva ai

 

Prompt ในการสร้างเวบแอพระบบฝากเงินนักเรียน เชื่อมโยงกับฐานข้อมูล ใน firebase คือ 


..........................................................................................................................................

สร้างเวบแอพฝากเงินของนักเรียนชั้นประถมศึกษาปีที่ 6 โรงเรียนบ้านอาเลา ครูประจำชั้น นางสาวอ้จฉราภรณ์ เทียมคลี โดยมี dashboard การฝาก ถอนเงิน มีความสามารถจัดการ เพิ่ม หรือลบชื่อนักเรียน มีประวัติการฝากเงินเป็นรายคน และสามารถค้นหาประวัติการฝากตามชื่อหรือวันที่ รหัสในการใช้งานสำหรับครูประจำชั้นคือ 1234@# โดยใช้ firebase ในการเชื่อมโยงฐานข้อมูลโดยมีโค้ด sdk ดังนี้ (bon ของ sdk setup and configuration)




.............................................................................................................................................................................





วันอาทิตย์ที่ 27 เมษายน พ.ศ. 2568

ป้องกันการบันทึกซ้ำในเดือนเดียวกัน ใน AppSheet

 


ป้องกันการบันทึกซ้ำในเดือนเดียวกัน ใน AppSheet

สูตร Filter กรองไม่ให้มีการบันทึกซ้ำ ภายในเดือนเดียวกัน 

...................................................................................................................................

ISBLANK(

  FILTER(

    "Record",

    AND(

      [ชื่อร้าน] = [_THISROW].[ชื่อร้าน],

      MONTH([วันที่ขาย]) = MONTH([_THISROW].[วันที่ขาย]),

      YEAR([วันที่ขาย]) = YEAR([_THISROW].[วันที่ขาย]),

      [ID] <> [_THISROW].[ID]

    )

  )

)

.....................................................................................................................................................

วันอังคารที่ 15 เมษายน พ.ศ. 2568

📜 โค้ด Google Apps Script สำหรับแต่ง Google Form

 

โค้ดสำหรับปรับแต่งหน้าตาของ Google Form ให้มีรูปร่างหน้าตาเหมือนเวบแอป 


 code.gs

.......................................................................................................................................

function doGet() {

  return HtmlService.createHtmlOutputFromFile('form')

      .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

}

..........................................................................................................................................


form.html 


.............................................................................................................................................

<!DOCTYPE html>

<html>

  <head>

    <base target="_top">

    <style>

      body {

        font-family: 'Kanit', sans-serif;

        background-color: #e8f5e9;

        display: flex;

        justify-content: center;

        align-items: center;

        height: 100vh;

        margin: 0;

      }

      .form-container {

        background: white;

        padding: 30px 40px;

        border-radius: 15px;

        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);

        text-align: center;

        width: 350px;

      }

      .form-container img {

        width: 80px;

        margin-bottom: 15px;

      }

      h2 {

        color: #388e3c;

        margin-bottom: 20px;

      }

      input[type="text"], input[type="tel"] {

        width: 100%;

        padding: 10px;

        margin: 8px 0;

        border: 1px solid #c8e6c9;

        border-radius: 10px;

        box-sizing: border-box;

        font-size: 16px;

      }

      button {

        background-color: #66bb6a;

        color: white;

        padding: 12px;

        width: 100%;

        border: none;

        border-radius: 10px;

        font-size: 16px;

        cursor: pointer;

        margin-top: 15px;

      }

      .footer {

        margin-top: 15px;

        font-size: 12px;

        color: #888;

      }

    </style>

  </head>

  <body>

    <div class="form-container">

      <img src="https://cdn-icons-png.flaticon.com/512/747/747376.png" alt="Profile Icon">

      <h2>แบบฟอร์มข้อมูลส่วนบุคคล</h2>

      <form>

        <input type="text" placeholder="ชื่อ" name="fname" required>

        <input type="text" placeholder="สกุล" name="lname" required>

        <input type="tel" placeholder="เบอร์โทรศัพท์" name="phone" required>

        <button type="submit">ส่งข้อมูล</button>

      </form>

      <div class="footer">create by aphsara 💚</div>

    </div>

  </body>

</html>

..............................................................................................................................................

วันจันทร์ที่ 24 มีนาคม พ.ศ. 2568

แก้ cannot find the path specified ใน Anyflip-downloader

 

ข้อความ "The system cannot find the path specified." หมายถึงระบบไม่สามารถหาเส้นทาง (path) ที่กำหนดไว้ได้ ซึ่งอาจเกิดได้จากหลายสาเหตุเมื่อลองใช้ anyflip-downloader หรือสคริปต์ที่คล้ายกัน

ลองตรวจสอบตามนี้:

1. ตรวจสอบ path ของไฟล์

หากคุณรันผ่าน Command Prompt หรือ Terminal:

  • ตรวจสอบว่าไฟล์ anyflip-downloader.py หรือโปรแกรมอยู่ใน directory ที่ถูกต้อง

  • ตัวอย่างการใช้:


python anyflip-downloader.py

ให้แน่ใจว่าอยู่ในโฟลเดอร์เดียวกับไฟล์นี้ หรือระบุ path แบบเต็ม เช่น:


python C:\Users\YourName\Downloads\anyflip-downloader.py

2. ชื่อไฟล์ / โฟลเดอร์มีช่องว่างหรืออักขระพิเศษ

บางครั้งหาก path มีช่องว่างหรืออักขระพิเศษ ต้องใส่เครื่องหมายคำพูด " ครอบ เช่น:


python "C:\Users\Your Name\Downloads\anyflip-downloader.py"

3. Python ติดตั้งหรือยัง

ตรวจสอบว่า Python ติดตั้งแล้วและ PATH ถูกต้อง โดยพิมพ์ใน Command Prompt:


python --version

ถ้าไม่เจอ python ให้ติดตั้งจาก python.org แล้วติดตั้งลง PATH ด้วย


4. ถ้ามีการใช้ไฟล์ config หรือระบุ output folder

ตรวจสอบว่าโฟลเดอร์ที่ระบุไว้ในคำสั่งหรือ config มีอยู่จริง เช่น:



--output "C:\Books\Output"

ถ้าไม่มีโฟลเดอร์นี้ ให้สร้างขึ้นก่อน หรือเปลี่ยนเป็น path ที่มีอยู่จริง


5. ใช้โปรแกรมผ่าน Git Bash หรือ PowerShell

บางครั้ง command line ที่ใช้ไม่รองรับ path แบบ Windows ต้องปรับให้เข้ากัน เช่น /c/Users/... สำหรับ Git Bash


วันพุธที่ 12 มีนาคม พ.ศ. 2568

เพิ่มคำแนะนำใน Excel ด้วย Input Message!

 📌 เพิ่มคำแนะนำใน Excel ด้วย Input Message! 📝💡

อยากให้ผู้ใช้เข้าใจวิธีกรอกข้อมูลแต่ไม่อยากให้เซลล์ดูรก? ใช้ Input Message แสดงคำแนะนำอัตโนมัติเมื่อคลิกที่เซลล์! 🎯

🔹 ทำตามนี้ได้เลย!
1️⃣ เลือกเซลล์ที่ต้องการเพิ่มคำแนะนำ
2️⃣ ไปที่ Data > เลือก Data Validation
3️⃣ กดแท็บ Input Message
4️⃣ ✔️ ติ๊ก "Show input message when cell is selected"
5️⃣ ใส่ หัวข้อ (Title) และ คำอธิบาย (Message) ที่ต้องการ
6️⃣ กด OK แล้วลองคลิกเซลล์ดู! 🎉

💡 ตัวอย่างการใช้งาน:
✅ บอกฟอร์แมตของข้อมูล เช่น "กรุณากรอกตัวเลขเท่านั้น" 🔢
✅ แนะนำให้เลือกจาก Dropdown เช่น "เลือกแผนกของคุณจากรายการที่กำหนด" 📂
✅ ใช้แจ้งเตือนให้ใส่ข้อมูลที่จำเป็น 🛑

🔥 ใช้ฟีเจอร์นี้แล้วช่วยให้ Excel ใช้งานง่ายขึ้นแน่นอน! ลองดูแล้วบอกเราหน่อยว่าชอบไหม! 😊👇




วันเสาร์ที่ 8 กุมภาพันธ์ พ.ศ. 2568

โค้ด VBA รันตัวเลขอัตโนมัติ ใน Excel





 สำหรับการตั้งค่าให้ Excel รันตัวเลขอัตโนมัติทุกครั้งที่มีการเปิดไฟล์มาใหม่่   เราจะใช้โค้ด VBA ดังนี้ 

..............................................................................................................................................................

Private Sub Workbook_Open()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets("RunNumber") ' ตรวจสอบให้แน่ใจว่าชื่อชีทถูกต้อง  แก้เป็นชีทงานของคุณ


    Dim lastNumber As Integer

    Dim targetCell As Range


    ' ระบุเซลล์ที่ต้องการรันหมายเลขอัตโนมัติ  ให้แก้เป็นเซลล์ที่คุณต้องการแก้ไข

    Set targetCell = ws.Range("E4")


   ' ตรวจสอบว่าเซลล์มีค่าอยู่แล้วหรือไม่

    If IsNumeric(targetCell.Value) And targetCell.Value > 0 Then

        lastNumber = targetCell.Value

    Else

        lastNumber = 0 ' ถ้ายังไม่มีค่า ให้เริ่มจาก 0

    End If


    ' เพิ่มค่าลำดับทีละ 1

    lastNumber = lastNumber + 1

    targetCell.Value = lastNumber ' อัปเดตค่าใหม่ลงในเซลล์ E4

End Sub

..................................................................................................................................................................

วิธีติดตั้งโค้ด VBA ในไฟล์ของคุณ

  1. กด ALT + F11 เพื่อเปิด VBA Editor
  2. ดับเบิลคลิกที่ ThisWorkbook (ใน Project Explorer)
  3. คัดลอกโค้ดด้านบนแล้ววางลงไป
  4. กด CTRL + S เพื่อบันทึก
  5. ปิด VBA Editor
  6. ปิดไฟล์ Excel แล้วเปิดใหม่ เพื่อทดสอบการทำงาน
............................................................................................................................................................
หากต้องการให้รันอัตโนมัตในรูปแบบ  ES0001, ES0002, ES0003... รันอัตโนมัติ

ให้ใช้โค้ด 
............................................................................................................................................................
Private Sub Workbook_Open()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("RunNumber") ' ตรวจสอบให้แน่ใจว่าชื่อชีทตรงกับไฟล์ของคุณ
    
    Dim lastNumber As Integer
    Dim newNumber As String
    Dim targetCell As Range
    
    ' ระบุเซลล์เป้าหมายเป็น E4
    Set targetCell = ws.Range("E4") ' เปลี่ยนตำแหน่งให้ถูกต้อง

    ' ตรวจสอบว่าเซลล์มีข้อมูลและอยู่ในรูปแบบ ESxxxx
    If Not IsEmpty(targetCell.Value) And InStr(targetCell.Value, "ES") > 0 Then
        On Error Resume Next ' ป้องกัน Error ถ้าข้อมูลไม่ใช่ตัวเลข
        lastNumber = CInt(Right(targetCell.Value, 4)) ' ดึงตัวเลข 4 หลักสุดท้าย
        On Error GoTo 0
    Else
        lastNumber = 0 ' ถ้ายังไม่มีค่า ให้เริ่มต้นที่ 0
    End If
    
    ' ตรวจสอบให้แน่ใจว่าเริ่มที่ ES0001 ถ้าไฟล์เพิ่งถูกใช้งานครั้งแรก
    If lastNumber < 1 Then lastNumber = 0
    
    ' เพิ่มเลขลำดับทีละ 1
    lastNumber = lastNumber + 1
    newNumber = "ES" & Format(lastNumber, "0000") ' ฟอร์แมตให้เป็น ES0001, ES0002...

    ' บันทึกค่าใหม่ลงในเซลล์ E4
    targetCell.Value = newNumber
End Sub

..............................................................................................................................................................

ทดลองเอาไปใช้งานกันดูค่ะ 




วันเสาร์ที่ 25 มกราคม พ.ศ. 2568

วิธีง่ายๆ ซ่อนสูตรในตาราง Excel

 




 วิธีการซ่อนสูตรในไฟล์ Excel

  1. เปิดไฟล์ที่ดาวน์โหลด

    • คลิกเพื่อเปิดไฟล์ที่มีตัวอย่างข้อมูลและสูตรในคอลัมน์ "ยอดรวม (สูตร)"
  2. เลือกเซลล์ที่ต้องการซ่อนสูตร

    • เลือกช่วงเซลล์ในคอลัมน์ "ยอดรวม (สูตร)"
  3. เปิดหน้าต่าง Format Cells

    • คลิกขวาที่เซลล์ที่เลือก แล้วเลือก Format Cells...
    • หรือกด Ctrl + 1
  4. ตั้งค่าให้ซ่อนสูตร

    • ไปที่แท็บ Protection
    • ทำเครื่องหมายที่ Hidden
  5. ปกป้องแผ่นงาน

    • ไปที่แท็บ Review ใน Ribbon
    • คลิกที่ Protect Sheet
    • ตั้งรหัสผ่าน (ถ้าจำเป็น) แล้วกด OK
  6. ตรวจสอบผลลัพธ์

    • เมื่อคลิกที่เซลล์ที่ซ่อนสูตรไว้ สูตรจะไม่ปรากฏในแถบสูตร (Formula Bar)
  วิธีการง่ายๆ แบบนี้เอาไปทดลองใช้กัับง่านของคุณกันดูค่ะ 

วันอังคารที่ 7 มกราคม พ.ศ. 2568

การสร้างตารางอัตโนมัติใน GoogleSheet

 เราสามารถสร้างตารางอัตโนมัติใน GoogleSheet ได้โดยใช้ Appscript ดังนี้ 

ตัวอย่างเช่น  สร้างข้อมูล Column ใน GoogleSheet A,B,C




โดย ใน Google Sheets ให้ไปที่เมนู Extensions > Apps Script เพื่อเปิดหน้าต่าง Apps Script

หลังจากนั้นวาง โค้ดด้านล่างนี้ลงไป  


function onEdit(e) {

    var sheet = e.source.getActiveSheet(); // เลือกแผ่นงานที่กำลังใช้งาน

    var range = sheet.getRange(1, 1, sheet.getLastRow(), 3); // เลือกคอลัมน์ A, B, C ตั้งแต่แถวที่ 1 ถึงแถวสุดท้ายที่มีข้อมูล

    var data = range.getValues(); // ดึงค่าข้อมูลในช่วงที่เลือก


    // ตรวจสอบว่ามีข้อมูลในช่วงหรือไม่

    if (data.some(row => row.some(cell => cell !== ""))) {

        range.setBorder(true, true, true, true, true, true); // เพิ่มเส้นขอบรอบเซลล์

    }

}


ต่อจากนั้นบันทึก  ครั้งแรกที่คุณใช้งาน Script นี้ คุณจะต้องให้สิทธิ์การใช้งาน: โดยอนุญาต ให้ appscript ทำงานก่อน  จะมีหน้าต่างแจ้งเตือนขออนุญาต ให้คลิกอนุญาตตามขั้นตอน
 
 เมื่อเสร็จแล้ว  กลับไปที่ Google Sheet  ลองเพิ่มข้อมูลลงในคอลัมน์ A, B, หรือ C 

หากคุณสร้างข้อมูลหลายคอลัมภ์กว่านั้น  ก็เพียงแต่  เปลี่ยน ตัวเลข 3 ที่ อยู่ใน script เป็นจำนวนคอลัมภ์ชิ้นงานของคุณ 

ทดลองเอาไปใช้งานกันดูเลยค่ะ  ติดปัญหาคอมเม้นต์สอบถามได้ค่ะ 👌