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