您好我是VBA和本论坛的新手。
因此,我有一个工作簿,可以使用活动链接从其他工作簿中复制数据(因此我可以刷新工作表并获取更新的值),并在其中一列中粘贴超链接(用于复制的工作簿)。我希望能够检查链接是否损坏并修复它们。所以我添加了一个刷新按钮来保持更新值和ErrorHandler到sub但不确定如何获得excel来识别/存储哪一行有断开的链接并将新链接粘贴到文件。这是可能的,我该怎么做。
如果不可能,是否可以识别损坏的超链接(具有粘贴的超链接的列)。我发现这个论坛但不确定如何更改它以便检查excel文件? Checking for broken hyperlinks in Excel
'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'
'This code refreshes all links in the active worksheet.
'
'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Sub RefreshAllLinks()
'Minimize runtime
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Initialize Variables
Dim summarywb As Workbook
'Set initial values
Set summarywb = ThisWorkbook
'Refresh all linked data on the active worksheet
summarywb.ActiveSheet.Activate
'On Error GoTo HRepair
summarywb.UpdateLink Name:=summarywb.LinkSources
HRepair:
Dim lngCount As Long
Dim cl As Range
Set cl = ActiveCell
' Open the file dialog
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Show
' Display paths of each file selected
For lngCount = 1 To .SelectedItems.Count
' Add Hyperlinks
cl.Worksheet.Hyperlinks.Add _
Anchor:=cl, Address:=.SelectedItems(lngCount), _
TextToDisplay:=.SelectedItems(lngCount)
Next lngCount
End With
'Display back on
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
答案 0 :(得分:0)
所以我在网上找到了这个代码,并根据我的目的进行了更改。您可以通过它来检查链接所需的所有不同情况。如果损坏,我会添加一个重新链接文件的提示。
希望这有助于每个人!
Sub GetLinkStatus() Dim avLinks As Variant Dim nIndex As Integer Dim sResult As String Dim nStatus As Integer Dim sLink As String
<i>
答案 1 :(得分:-1)