如何以编程方式删除丢失的引用?

时间:2019-04-16 13:34:56

标签: excel vba

我在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 

0 个答案:

没有答案