Page 1 of 1

กำหนดวันหมดอายุให้สมุดงานใน EXCEL

Posted: Tue Jun 30, 2020 4:01 pm
by saranya5993
รบกวนสอบถามวิธีการ LCOK สมุดงานใน Excel โดยกำหนดเงื่อนไขเป็นวันหมดอายุ
กล่าวคือ ถ้าต้องการกำหนดวันหมดอายุ ของ สมุดงาน ที่ 1 ให้ไม่สามารถเปิดดูเนื้อหาได้หลังจากวันที่ 15/7/2020
ไม่ทราบว่าสามารถทำได้ไหม และต้องทำอย่างไรคะ???

Re: กำหนดวันหมดอายุให้สมุดงานใน EXCEL

Posted: Tue Jun 30, 2020 7:02 pm
by snasui
:D สามารถทำได้ด้วยการเขียนโปรแกรมด้วย VBA เข้าไปจัดการครับ

กรณีต้องการใช้งาน VBA จำเป็นต้องเขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: ติดตรงไหนสามารถนำมาสอบถามกันต่อครับ

Re: กำหนดวันหมดอายุให้สมุดงานใน EXCEL

Posted: Wed Jul 01, 2020 5:16 pm
by aroydee
แบบนี้พอจะได้ไหม

Code: Select all

Sub End_Time()
    With ThisWorkbook
        Application.DisplayAlerts = False
        If Date >= 43831 Then
            .ChangeFileAccess xlReadOnly
            Kill .FullName
            ThisWorkbook.Close SaveChanges:=False
        End If
    End With
End Sub

Re: กำหนดวันหมดอายุให้สมุดงานใน EXCEL

Posted: Wed Jul 01, 2020 7:32 pm
by aroydee
แต่ Code นี้เหมือนจะสั่งให้ลบไฟล์ด้วย
ให้สำรองไฟล์ไว้ ก่อนทดลองนะครับ

Code: Select all

Sub End_Time()
    With ThisWorkbook
        Application.DisplayAlerts = False
        If Date >= 63715 Then
            .ChangeFileAccess xlReadOnly
            'Kill.FullName
            ThisWorkbook.Close SaveChanges:=False
        End If
    End With
End Sub

Re: กำหนดวันหมดอายุให้สมุดงานใน EXCEL

Posted: Thu Jul 02, 2020 7:03 am
by snasui
aroydee wrote: Wed Jul 01, 2020 5:16 pm แบบนี้พอจะได้ไหม

Code: Select all

Sub End_Time()
    With ThisWorkbook
        Application.DisplayAlerts = False
        If Date >= 43831 Then
            .ChangeFileAccess xlReadOnly
            Kill .FullName
            ThisWorkbook.Close SaveChanges:=False
        End If
    End With
End Sub
:D ขอบคุณสำหรับการแบ่งปัน :thup: ขออภัยที่แจ้งว่ากรณีเป็น VBA เลือกตอบเป็น Link ให้ไปศึกษาแทนตอบเป็น Code ทั้งนี้เพราะควรให้ผู้ถามได้โพสต์สิ่งที่ตัวเองได้ทดลองทำมาเองก่อน หากผู้ถามสามารถนำ Code มาถามได้แสดงว่าพอมีพื้นฐานเกี่ยวกับการเขียน Code มาบ้างแล้วครับ

Re: กำหนดวันหมดอายุให้สมุดงานใน EXCEL

Posted: Sat Jul 04, 2020 12:20 am
by puayoh
snasui wrote: Thu Jul 02, 2020 7:03 am
aroydee wrote: Wed Jul 01, 2020 5:16 pm แบบนี้พอจะได้ไหม

Code: Select all

Sub End_Time()
    With ThisWorkbook
        Application.DisplayAlerts = False
        If Date >= 43831 Then
            .ChangeFileAccess xlReadOnly
            Kill .FullName
            ThisWorkbook.Close SaveChanges:=False
        End If
    End With
End Sub
:D ขอบคุณสำหรับการแบ่งปัน :thup: ขออภัยที่แจ้งว่ากรณีเป็น VBA เลือกตอบเป็น Link ให้ไปศึกษาแทนตอบเป็น Code ทั้งนี้เพราะควรให้ผู้ถามได้โพสต์สิ่งที่ตัวเองได้ทดลองทำมาเองก่อน หากผู้ถามสามารถนำ Code มาถามได้แสดงว่าพอมีพื้นฐานเกี่ยวกับการเขียน Code มาบ้างแล้วครับ
พอจะมีลิงค์สอน หรือวิธีให้ศึกษาเพิ่มเติมไหมครับ

Re: กำหนดวันหมดอายุให้สมุดงานใน EXCEL

Posted: Sat Jul 04, 2020 7:34 am
by snasui
:D มีแหล่งให้ศึกษาจำนวนมากครับ เบื้องต้นดูจากที่นี่ซึ่งเป็นหลักการของการใช้งาน VBA https://docs.microsoft.com/en-us/office ... -reference

หากเป็นเฉพาะเรื่องสามารถ Search หาได้จาก Internet เช่นใน https://stackoverflow.com/ ครับ