我有一个工作簿,其中有许多其他工作簿的链接。理想情况下我想编码:当我打开包含链接的工作簿时,将更新链接,但仅当链接到的工作簿未打开时(在我的PC或网络上的其他用户的PC上,可以访问它)。 这是因为:
我希望我有意义,请告诉我,如果我不是。 谢谢。
答案 0 :(得分:1)
试试这个
Sub UpdateLinks()
Dim v As Variant, i As Long
v = ThisWorkbook.LinkSources(XlLink.xlExcelLinks)
For i = 1 To UBound(v)
If Not FileInUse(v(i)) Then
Workbooks.Open (v(i))
End If
Next i
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
End Sub
Public Function FileInUse(sFileName) As Boolean 'Checks if a workbook is open
On Error Resume Next
Open sFileName For Binary Access Read Lock Read As #1
Close #1
FileInUse = IIf(Err.Number > 0, True, False)
On Error GoTo 0
End Function