Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
23.09.2010 21:41:21 |
Johannes Leikel |
|
|
Aw:CALL nach dem laden einer Referenz nicht möglic |
23.09.2010 23:38:51 |
Severus |
|
|
|
24.09.2010 17:30:32 |
Holger |
|
|
|
29.09.2010 08:31:47 |
Severus |
|
|
|
29.09.2010 13:58:46 |
Holger |
|
|
Von:
Severus |
Datum:
23.09.2010 23:38:51 |
Views:
1013 |
Rating:
|
Antwort:
|
Thema:
Aw:CALL nach dem laden einer Referenz nicht möglic |
Johannes Leikel schrieb am 23.09.2010 21:41:21:
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
Hi Johannes,
einen wirklichen Fehler kann ich auch nicht finden. Immerhin versuch mal
VBE.ActiveVBProject.References.AddFromFile strRefpath:DoEvents
modulname.meineProzedur strUserName
Weitere Möglichkeit:
Do
For Each myref In VBE.ActiveVBProject.References
If myref.FullPath = strRefpath Then
tf = True
Exit For
End If
Next myref
If tf = False Then
VBE.ActiveVBProject.References.AddFromFile strRefpath:DoEvents
End If
Loop Until tf = True
Näheres kann ich ohne eine Mustermappe nicht sagen.
Severus
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
23.09.2010 21:41:21 |
Johannes Leikel |
|
|
Aw:CALL nach dem laden einer Referenz nicht möglic |
23.09.2010 23:38:51 |
Severus |
|
|
|
24.09.2010 17:30:32 |
Holger |
|
|
|
29.09.2010 08:31:47 |
Severus |
|
|
|
29.09.2010 13:58:46 |
Holger |
|
|