เพื่อมุ่งให้เกิดคุณภาพจากการอบรมสูงสุด Excel Expert Training ให้การอบรม Excel กลุ่มเล็กๆ ไม่เกิน 6 คนทุกคนสามารถเรียนรู้ Excel อย่างใกล้ชิด จะมาคนเดียวหรือมาเป็นกลุ่มแล้วนัดวันอบรมแบบส่วนตัวก็ได้ ผู้เข้าอบรมทุกคนสามารถติดตามเนื้อหาที่อบรมได้อย่างชัดเจนจากจอภาพด้านหน้าของตัวเอง
Results 1 to 5 of 5

Thread: เขียน Code เช็ค File ว่าเปิดอยู่หรือไม่

  1. #1
    HS8MQM
    Guest

    เขียน Code เช็ค File ว่าเปิดอยู่หรือไม่

    ในการรันโปรแกรมจะต้องเปิด File Book1.xls
    จึงอยากจะสอบถาม การเขียน Code เช็คว่า File Book1.xls เปิดอยู่หรือไม่ จะเขียนอย่างไรครับ
    ขอบคุณมากครับ

  2. #2
    addy05
    Guest
    Code:
        Dim wbkObj As Workbook
        Dim blnFound As Boolean
        For Each wbkObj  In Workbooks
            If wbkObj .Name = "Book1" Then
                blnFound = True
                Exit For
            End If
        Next
        If blnFound Then   MsgBox "Book1 เปิดใช้งานแล้ว"  Else  MsgBox "Book1 ยังไม่เปิดใช้งาน"

  3. #3
    HS8MQM
    Guest

    ขอบคุณมากครับ

    คุณ addy05
    ขอบคุณมากครับ

  4. #4
    มิตรภาพ
    Guest
    ขออนุญาตคุณ addy05 และคุณ HS8MQM ด้วยนะครับ ผมขอเสนออีกวิธีหนึ่ง
    1. สร้างฟังก์ชั่นต่อไปนี้
    Code:
    Function WrkOpened(WrkName As String) As Boolean
      WrkOpened = False
      On Error GoTo endFunction
      If Len(Application.Workbooks(WrkName).Name) > 0 Then WrkOpened = True
    endFunction:
    End Function
    ฟังก์ชั่นจะคืนค่า False เมื่อไฟล์ยังไม่ได้เปิด และ True เมื่อพบว่าไฟล์ถูกเปิดอยู่แล้ว
    2. ตัวอย่างการเรียกใช้งาน
    Code:
    Sub YourCode()
      If Not WrkOpened("Book1.xls") Then Workbooks.Open "Book1.xls"
      .....
      .....
    End Sub

  5. #5
    อรวีร์
    Guest

    Smile On Error Goto 0

    เยี่ยมเลยค่ะคุณมิตรภาพ เป็นแนวทางการเขียนที่ดี แต่ขอเสริมนิดคือ การใช้
    On Error GoTo . . . . . . . หรือ On Error Resume Next
    ควรปิดด้วย
    On Error GoTo 0

    ลองดูแบบนี้ค่ะ
    Code:
    Function WrkOpened(WrkName As String) As Boolean
      WrkOpened = False
      On Error GoTo endFunction
      WrkOpened = Len(Application.Workbooks(WrkName).Name)
    endFunction:
    On Error GoTo 0
    End Function

Similar Threads

  1. Replies: 3
    Last Post: 3 Jul 2008, 14:50
  2. เขียน Code ให้สั้นลง แทนการใช้ With
    By Nongmod in forum Excel Expert Forum Library 2012 - 2007
    Replies: 2
    Last Post: 22 Aug 2007, 09:10
  3. Replies: 6
    Last Post: 17 Aug 2007, 00:09
  4. Replies: 2
    Last Post: 8 Jul 2007, 12:38
  5. เขียน Code เพื่อ Copy ค่าในเซลล์ที่ Merge
    By nutty in forum Excel Expert Forum Library 2012 - 2007
    Replies: 2
    Last Post: 2 Jul 2007, 13:21

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •