我在Excel 2010中创建了一些电子表格,我们正在缓慢实施Windows 10(和Office 365)。因此,一旦有人使用Excel 2016打开并保存了我的某些文件,当仍在Excel 2010上的某人尝试打开该文件时,他们会收到一个与丢失的引用链接的错误。
我知道如何手动修复它,但不幸的是,并不是每个人都可以。因此,我一直在寻找一种自动执行此操作的方法。
我找到了以下代码,但是由于某种原因,当我应用它时,它只会冻结Excel并崩溃。
有人知道为什么它不起作用吗?
*在标准模块中*
Sub References_RemoveMissing()
'Macro purpose: To remove missing references from the VBE
Dim theRef As Variant, i As Long
On Error Resume Next
For i = ThisWorkbook.VBProject.References.Count To 1 Step -1
Set theRef = ThisWorkbook.VBProject.References.Item(i)
If theRef.isbroken = True Then
ThisWorkbook.VBProject.References.Remove theRef
End If
Next i
If Err <> 0 Then
MsgBox "A missing reference has been encountered!" _
& "You will need to remove the reference manually.", _
vbCritical, "Unable To Remove Missing Reference"
End If
On Error GoTo 0
End Sub
*在ThisWorkbook模块中*
Call References_RemoveMissing
End Sub