Page 1 of 1

การเปิด Link ไฟล์ Excel VBA

Posted: Wed Feb 26, 2025 3:42 pm
by Jirawat namrach
รบกวนสอบถามครับ คือผมต้องการเปิดไฟล์ Excel ตาม link ใน sheet("Path") โดยที่ หากมีคนอื่นเปิดใช้งานอยู่ ให้เปิดเป็น Readonly แต่ถ้าไม่มีคนอื่นเปิดอยู่ ให้เปิดปกติครับ ขอแนวทางแก้ไข Code ด้วยครับ (Code อยู่ใน Sheet2(Sheet1)

Code: Select all

r = rg.Range("a" & Rows.Count).End(xlUp).Offset(0, 0).Row
For i = 1 To r
    If ActiveCell.Value = rg.Range("a" & i).Value Then
    ActiveWorkbook.FollowHyperlink (rg.Range("b" & i).Value)
    Exit Sub
    End If
Next i

Re: การเปิด Link ไฟล์ Excel VBA

Posted: Wed Feb 26, 2025 5:12 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Sub gotolink()
    Dim draw As String
    Dim mb As Worksheet
    Dim mr As Ranges
    Dim rg As Worksheet
    Dim i As Long
    Dim r As Long
    Dim fN As String
    
    Set mb = Sheets("Sheet1")
    'Set mr = mb.Range("B:B")
    Set rg = Sheets("Path")
    
    r = rg.Range("a" & Rows.Count).End(xlUp).Row
    For i = 1 To r
'        If ActiveCell.Value = rg.Range("a" & i).Value Then
'            ActiveWorkbook.FollowHyperlink (rg.Range("b" & i).Value), UpdateLinks:=False
        fN = rg.Range("b" & i)
        Call OpenFile(fN)
'        Exit Sub
    Next i
ExitSub:
End Sub

Sub OpenFile(fileName As String)
    Dim fileNum As Integer
    Dim errNum As Integer
    
    On Error Resume Next
    fileNum = FreeFile()
    Open fileName For Input Lock Read As #fileNum
    Close fileNum
    errNum = Err
'    On Error GoTo 0

    Select Case errNum
        Case 0: IsFileOpen = False
            Workbooks.Open fileName, ReadOnly:=False
        Case 70: IsFileOpen = True
            Workbooks.Open fileName, ReadOnly:=True
        Case Else: MsgBox fileName & vbCrLf & _
            "Error " & errNum & ": " & Err.Description
    End Select
End Sub

Re: การเปิด Link ไฟล์ Excel VBA

Posted: Thu Feb 27, 2025 11:12 am
by Jirawat namrach
ขอบคุณครับอาจารย์