Acties:
  • 0 Henk 'm!

  • Webgnome
  • Registratie: Maart 2001
  • Laatst online: 07:11
Ik heb een project wat een startup template gebruikt. Alle code (generieke) zit in deze template. Nu is het natuurlijk logisch wanneer de reference naar deze startup template op een of andere manier breekt (bijvoorbeeld omdat de dot niet op de juiste plek staat oid ) de functionaliteit ook verloren gaat. Nu wilde ik een check inbouwen in VBA om te controleren of de template reference bestaat of niet om zodoende code niet uit te laten voeren als het niet nodig is.

code:
1
2
3
4
5
6
7
8
For Each globProject In curVBProject.References
        
        If (globProject.Name = "TemplateProject" And Not globProject.isBroken) Then
            bReturn = True
        End If
    Next
       
    checkGlobalTemplateReference = bReturn


De bovenstaande code doet deze check. Echter als ik de reference nu verwijder en ik probeer de code te runnen dan krijg ik een compile error op de "Call Reference.recalculateDocumentReference" en VBA trekt zich niks aan van de check. Is er een manier om deze error te omzeilen zonder de reference code helemaal opnieuw op te gaan bouwen?

code:
1
2
3
If (checkGlobalTemplateReference) Then
        Call Reference.RecalculateDocumentReference
    End If

Strava | AP | IP | AW


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik gok dat dit aan de inhoud van die eigen functie ligt. Deze kan nu niet gecompileerd worden, omdat de referenties niet geladen kunnen worden. Zie hier voor gerelateerde problemen en oplossingen.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Anoniem: 113297

Reference.RecalculateDocumentReference
je roept een functie aan die zich in een eigen Reference module of klassemodule bevindt, dit kan voor problemen zorgen omdat er al een Reference-object bestaat in vba.

misschien kan je er beter voor zorgen dat het opstartsjabloon overal geïnstalleerd is, want dit is een erg lastige fout om te omzeilen. het fysieke pad van de opstartmap in word hoeft iig niet gelijk te zijn om de verwijzing ernaar altijd correct te laten functioneren.