Bilder-Handling

Was für ein Fehler wird bei dir denn angezeigt?

Wenn ich Excel öffne (und natürlich das Ausführen von Makros zulasse), wird gleich das Formular angezeigt. Klicke ich dann auf den Button "nächste Aufgabe", wird die Aufgabe als Text und darunter das Bild angezeigt.
 

Anhänge

  • Aufgaben.jpg
    Aufgaben.jpg
    100,5 KB · Aufrufe: 10
Vorsichtige Frage(n):

- die Bilder liegen wirklich im gleichen Ordner wie die Excel Datei
- die Namen der Bilder entsprechen den jeweiligen Eintrag in Spalte C
- in der Excel Datei ist sowohl der Name als auch die Dateiendung angegeben

Schau dir nochmal das obige Bild an. Da sollte zu erkennen sein wie es aussehen muss.
 
Ich lösche mal den ursprünglichen Text weil er keine Hilfe war.

Damit wir unter gleichen Bedingungen arbeiten, habe ich bei mir jetzt mal unter "C" so wie du das Verzeichnis "VB-Training" angelegt und die Dateien reinkopiert.

Excel gestartet und was kommt "Laufzeitfehler 53 - Datei nicht gefunden".

Es ist mir ein absolutes Rätsel warum aber Excel verlangt jetzt plötzlich den kompletten Pfad bei den Bildern. Hier deshalb die geänderte Excel Version wo der Pfad zu den Bildern ermittelt wird.

Angenommen du willst die Bilder nicht mitgeben (weil sie irgendwo im Netzwerk liegen) kannst du auch die bisherige Version nehmen und den Dateipfad bei den Bildern direkt angeben oder in Excel "einprogrammieren".
 

Anhänge

  • Mappe1.txt
    39,5 KB · Aufrufe: 9
Zuletzt bearbeitet:
Ich sehe nun, daß man auch in VBA das Ziel erreichen kann. Vielen Dank für deine Bemühungen.

Ich möchte mich aber in Visual-Basic 5 einarbeiten. Das hat folgenden Grund: Ich habe einen Bekannten beauftragt, mir ein Programm für das oben beschriebene Karteikarten-System in VB zu schreiben. Ich möchte mich nun so weit in VB einarbeiten, um dann noch nötige Veränderungen am Programm vornehmen zu können. Da ich aber nicht aus Büchern lernen kann, versuche ich nun selbst an einem entsprechenden Programm herumzubasteln. Beim ersten Schritt hast du und Einer aus einem anderen Forum mir geholfen.
Ich kann nun ein Bild mit VB als Vollbild darstellen.
Schon beim 2. Bild funktioniert der gleiche Code nicht mehr, das ist mir ein Rätsel: Die Form wird maximiert, das Bild wird in die obere linke Ecke der Form gestellt aber das Ausfüllen der Form klappt nicht. Wäre es dir nicht möglich, VB aus dem Internet runterzuladen? Ich glaube, der Unterschied zwischen den verschiedenen Versionen ist minimal.
 
Zeig doch mal deinen Code mit dem du jetzt arbeitest.

Ich habe zu Hause noch irgendwo VB nur halt nicht installiert. Mal schauen ob ich Lust habe mir das wieder auf den Rechner zu legen.

Aber wie gesagt, stelle doch mal hier dein Projekt rein. Dann kann ich oder auch jemand anderes schauen woran es liegt.
 
Ich habe 2 Formulare. Jedes hat eine Image-Box.
In jede Image-Box wird während des Programmablaufes ein Bild geladen.
Das Bild in der Image-Box der Form1 paßt sich an deren maximierte Größe an.
Dagegen wird das Bild in der Image-Box der Form 2 zwar wunschgemäß in die linke obere Ecke der maximierten Box gestellt, aber es paßt sich nicht der Form an, d.h. es bleibt klein, obwohl der gleiche Code zum Anpassen verwendet wird. Was läuft da falsch****?

Formular 1:
Private Sub Form_Activate()
Me.WindowState = vBMaximized
Image1.Stretch = True
Set Image1.Picture = LoadPicture("01.jpg")
Image1.Move 0 , 0, Me.ScaleWidth, Me.ScaleHeight
End Sub
Private Sub Image1_Click()
Form2.Show
Unload Me
End Sub

Formular 2:
Private Sub Form_Load()
Me.WindowState = vBMaximized
Image1.Stretch = True
Set Image1.Picture = LoadPicture("02.jpg")
Image1.Move 0 , 0, Me.ScaleWidth, Me.ScaleHeight
End Sub
 
Der Code sieht soweit schon gleich aus.
Du hast ihn aber bei Form1 in das "Activate-Ereignis" und bei Form2 in das "Load-Ereignis" geschrieben. Die einzelnen Ereignisse werde zu unterschiedlichen Zeiten aufgerufen.

Was dann nicht zu sehen ist, sind die Einstellungen bei den Eigenschaften der jeweiligen Objekte.

Teste mal was passiert wenn du bei beiden Formen den Code (außer "Me.WindowState = vBMaximized
Image1.Stretch = True") in das Resize-Ereignis schreibst. Dies wird immer dann automatisch aufgerufen wenn sich die Größe der Form ändert.
 
Das Ereignis "Load" bei der ersten Form und das Ereignis "Activate" bei der zweiten Form habe ich gewählt, weil ich das bei einem anderen Code so gesehen habe.
Nachdem du das erwähnt hast, habe ich versuchsweise in der ersten Form auch mit "Load"
gearbeitet. Nun war auch das erste Bild nicht mehr als Vollbild zu sehen. Schnell habe ich dann bei beiden Formen "Activate" benutzt und jetzt - man glaubt es kaum - erscheinen beide Bilder im Vollbildmodus.
Mit dem Rezise-Ereignis habe dann Nichts mehr probiert.

Bis zur nächsten Hürde viele Grüße aus Oberbayern

Peter
 

Neue Beiträge

Zurück