Load und Unload vob Bildern; Exel-Viewer

04/02/2008 - 23:57 von Boas Steiner | Report spam
Hallo zusammen

Könntet ihr mir bitte weiterhelfen? Ich brauche einen Code, mit dem man
Bilder in die Tabelle einfügt und wieder herauslàdt.
Ich möchte ein Programm zum Lernen von Theorie machen, der dann die
Antworten auswertet. Dazu benötigt es pro Fragevorgang je ein anderes Bild,
das dann neben der Frage angezeigt wird.

Bis jetzt habe ich es so gemacht:
Worksheets("Tabelle1").Range("G19").Select
ActiveSheet.Pictures.Insert("D:\Lern Trainer\Bilder\1001.JPG")
und danach dann:
ActiveSheet.Shapes("Picture 14").Delete

Nur das Problem liegt, dass nach jedem Bild die Picture-Nr sich àndert. Auch
bin ich nicht sicher, ob er das Bild wirklich gelöscht hat, oder ob es den
Arbeitsspeicher blockiert.
Ich habe gelesen, dass man mit unload das Bild wieder entfernen kann. Wisst
ihr wie dies geht? Oder habt ihr mir eine viel einfachere Lösung zum Anzeigen
der Bilder?

Ich bitte euch um eure Hilfe. Vielen Dank

Gruss Boas
 

Lesen sie die antworten

#1 stefan onken
05/02/2008 - 09:34 | Warnen spam
On 4 Feb., 23:57, Boas Steiner wrote:
Hallo zusammen

Könntet ihr mir bitte weiterhelfen? Ich brauche einen Code, mit dem man
Bilder in die Tabelle einfügt und wieder herauslàdt.
Ich möchte ein Programm zum Lernen von Theorie machen, der dann die
Antworten auswertet. Dazu benötigt es pro Fragevorgang je ein anderes Bild,
das dann neben der Frage angezeigt wird.

Bis jetzt habe ich es so gemacht:
     Worksheets("Tabelle1").Range("G19").Select
     ActiveSheet.Pictures.Insert("D:\Lern Trainer\Bilder\1001.JPG")
und danach dann:
     ActiveSheet.Shapes("Picture 14").Delete

Nur das Problem liegt, dass nach jedem Bild die Picture-Nr sich àndert. Auch
bin ich nicht sicher, ob er das Bild wirklich gelöscht hat, oder ob es den
Arbeitsspeicher blockiert.
Ich habe gelesen, dass man mit unload das Bild wieder entfernen kann. Wisst
ihr wie dies geht? Oder habt ihr mir eine viel einfachere Lösung zum Anzeigen
der Bilder?

Ich bitte euch um eure Hilfe. Vielen Dank

Gruss Boas



hallo Boas,
wenn du bei Ausführung des Codes Shapes("").Delete nur ein Shape-
Objekt (Shapes sind aber nicht nur Bilder, sondern auch zB Elemente
aus der Zeichnen-Symbolleiste) auf der Tabelle hast, kannst du den
Index verwenden, also Shapes(1).Delete .
Wenn du mehrere hast, hat das zuletzt erstellte Bild den höchsten
Index und wàre über Shapes(Shapes.Count).Delete ansprechbar.
Du kannst dem eingefügten Bild aber einen eindeutigen Namen vergeben,
etwa so

Worksheets("Tabelle1").Range("G19").Select
Set pic = ActiveSheet.Pictures.Insert("D:\Lern Trainer\Bilder
\1001.JPG")
pic.Name = "1001"

dann löschen mit
ActiveSheet.Shapes("1001").Delete

Gruß
stefan

Ähnliche fragen