Hantera saknade / brutna referenser
Här demonstreras hur vi tar bort en bruten referens. I en praktisk lösning kombineras denna metod med att skapa en ny referens eller annan typ av hantering.
Sub Ta_Bort_Brutna_Referenser()
'© 2002 Alla rättigheter XL-Dennis
'Proceduren måste skapas i en annan arbetsbok än den som berörs och den berörda arbetsboken
'måste vara öppen när proceduren körs.'Här förutsätts att referens finns till Microsoft Visual Basic for Applications Extensibility 5.3
'Engelsk version ISMISSING: Filnamn Svensk version SAKNAS: Filnamn
Dim VBReferens As VBIDE.Reference
Dim VBProjekt As VBIDE.VBProject
Dim stBok As String
'Här sätts referen till den berörda arbetsboken.
stBok = Workbooks("Test.xls").Name
'I XL 2002 måste vi godkänna åtkomst av VB-Projekt, vilket sker
'via kommandot Verktyg | Makron... | Säkerhet... | Fliken Tillförlitliga källor
'och kryssa för alternativet "Åtkomst till Visual Basic-projekt är tillförlitlig.
Set VBProjekt = Workbooks(stBok).VBProject
'Här kontrolleras samtliga referenser i den önskade arbetsboken
'och är någon bruten tas referensen bort.
For Each VBReferens In VBProjekt.References
If VBReferens.IsBroken Then VBProjekt.References.Remove VBReferens
Next VBReferens
End Sub