Laufzeitfehler 75

Hallo Experten^^,

ich störe nur ungern mit meinen Fragen, aber ich habe schon versucht mein problem zu googlen, leider ohne Erfolg.

ich habe zwei Userformen erstellt : userform1, userform2.

im userform1 habe ich ein textfeld und ein Ok-button.
wenn ich das textfeld(eine Pfadeingabe) im userform1 ausgefüllt und mit ok bestätigt habe soll die variable abc in das userform2 übertragen werden.

Klick auf Button Ok in Userform1:

Public abc As String

Private Sub OKButton_Click ()

abc = Userform1.textfeld.value

userform2.show

End Sub

die übertragung der variable in die userform2 funktioniert (getestet mit MsgBox).

In Userform2 will ich mit der Variable abc (als String deklariert) ein image laden:


Me.Image1.Picture = Load(userform1.abc)

-> dann erscheint eine fehlermeldung : Laufzeitfehler 75.

wenn ich bei Load (C:…) den Pfad direkt eingebe funktioniert es.

Vielen Dank

WIllsWissen

Hallo,
wenn abc ein Public-String ist langt doch wohl einfach
Me.Image1.Picture = Load(abc)?
Die Qualifizierung mit userform1 ist nur nötig für Objekte dieser Form, abc ist aber eine globale Variable.
Viel Erfolg
Rainer

hallo rainer,

leider geht es auch so nicht… ;(

ich verstehe nicht warum es mit Load (abc) nicht funktioniert, wenn ich abc als MsgBox ausgeben lasse erscheint mein Eintrag(also der Pfad.

Also, Fehler 75 heißt „Fehler beim Zugriff auf Pfad/Datei“, wenn es bei direkter Eingabe geht muss es an der Übergabe der Variablen liegen. Schau die Dir mal direkt vorm Laden an (z.B. via Debug.Print), vielleicht enthält sie noch irgendein Steuerzeichen aus der Eingabebox (Textende-Marke, Zeilenvorschub o.ä.). Sonst habe ich auch keine Idee mehr.
Viel Erfolög
Rainer

Hallo,

eventuell funktioniert das hier:

Me.Image1.Picture = Load(’" & userform1.abc & "’)

Eventuell werden beim String die „“ als Pfadangabe gewertet.

Ich hoffe das hilft Ihnen ein bischen weiter.

Viele Grüße
Andreas Fastner
asfast-edv.de

super^^ es funktioniert ;D

danke danke ^^

danke rainer,

die variante von andreas funktioniert, also Load("&abc&").

Hallo WIllsWissen,

beim Blick in meine Kristallkugel sehe ich, daß Sie eine Office Version von Microsoft einsetzen. Die Versionsnummer ist leider nur schemenhaft erkennbar. :smile:)

Sofern die obige Info zutrifft, ist die eingesetzte Version in diesem Falle unerheblich.

Um eine Variablenwert ausserhalb eines Objekts (Userform, Class, Module) zugänglich machen zu können, kann wie folgt vorgegangen werden:

ein neues Modul mit dem Namen modData für Globale Speicherung anlegen:

option explicit

Dim myabc as String ’ Pfadangabe

public property Get abc() as String
abc = myabc
end property

public property let abc(value as String)
myabc = value
end property

'------------------------

Zugriff auf abc:

userform2.textfeld.text = modData.abc
oder
userform1.textfeld.text = modData.abc

Setzen der Variable
modData.abc = „C:…“

Viele Grüße,
BigBen

Hallo,
versuch’s mal mit folgender Zeile:
Load( Userform1.textfeld.value)
lg
Katharina