Hallo zusammen,
mit meinem VBA-Code möchte ich eine Referenz laden (eine weitere Datei
die zusätzlichen VBA-Code enthält).
Direkt nach dem laden möchte ich eine Funktion aus der neuen Referenz
mittels "CALL" aufrufen.
Leider erscheint dann beim CALL-Aufruf der Prozedur stets die Meldung
"objekt nicht gefunden". Die Referenz wurde aber vollständig geladen.
Wenn ich meine Prozedur ein zweites mal starte funktioniert das CALL ohne
Probleme. Hier mein Code:
--- schnipp --
' Option Explicit ist deaktiviert da ansonsten Fehlermeldungen auftreten.
Sub AutoNew()
On Error GoTo Errorhandling
Dim strUserName As String, strRefpath, myref As Reference, tf As
Boolean
Dim docApp As New Word.Application
strRefpath = Environ("userprofile") &
"\Anwendungsdaten\Microsoft\Word\STARTUP\MeineVorlage.dot"
strUserName = LCase(Environ("Username"))
For Each myref In VBE.ActiveVBProject.References
If myref.FullPath = strRefpath Then
tf = True
Exit For
End If
Next myref
If tf = False Then
' Hier wird die Referenz geladen die weiter unten
' per CALL aufgerufen werden soll.
VBE.ActiveVBProject.References.AddFromFile (strRefpath)
End If
' Dieses CALL schlägt beim ERSTEN AUFRUF fehl ("Objekt nicht gefunden").
' Der Projektname ist der name der zuvor aktivierten Referenz
Call MyProjektname.modulname.meineProzedur(strUserName)
Exit Sub
MsgBox "Fehler beim starten von AutoNew, " & Err.Description
End Sub
--- schnapp --
Ich verwende Word 2007 unter Windows XP.
Was mache ich falsch?
Grüße,
Johannes
|