Как я могу программно удалить недостающие ссылки? - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть несколько таблиц, созданных в 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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...