【发布时间】:2018-11-15 06:46:31
【问题描述】:
您好,我是 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
【问题讨论】: