Seite 1 von 1

Bilder per Makro einbinden

Verfasst: Fr 26. Aug 2011, 08:49
von Philipp
Hallo,

ich bins schon wieder mit einer neuen Problemstellung.
Ich schreibe grade ein Makro um Bilder aus einem Verzeichnis in ein writer-Dokument einzubinden.

Code: Alles auswählen

part1 = "C:\Dokumente und Einstellungen\"	        'Verzeichnis
	part2 = Environ("username")					       'Username
	part3 = "\Eigene Dateien\Eigene Bilder\"			'Verzeichnis
	part4 = "Bild.bmp"						         'Image-Name (Typ Bitmap)
	
	
	Path = part1 & part2 & part3 & part4
	MsgBox Path
	Path = ConvertToURL(path)
So sieht das Auslesen der Datei aus, das einbinden habe ich über den Recorder bekommen.
Jetzt ist die Frage, was ich mache wenn die Datei "Bild" einen anderen Datei-Typ hat, also nicht wie in diesem Fall .bmp, sondern .jpg oder .png.
Kann man im Makro abfragen auf diese Datei machen, um den Typ herrauszufinden oder gibt es andere Wege um mein Problem zu lösen?
Windows XP, LO 3.3

Re: Bilder per Makro einbinden

Verfasst: Fr 26. Aug 2011, 09:20
von komma4
Ich nehme an, Du suchst eine Schleife, um alle Bildernamen (nach einem Muster?) im Verzeichnis zu finden.

Dabei hilft Dir die Laufzeitfunktion DIR (s. Onlinehilfe F1).

Daraus angepasstes Beispiel


Code: Alles auswählen

pfad = part1 & part2 & part3

alleBilder = Dir( pfad & "B*", 0 )

Do

   xray alleBilder  

   alleBilder = Dir

Loop until alleBilder = ""

Hilft Dir das?

Re: Bilder per Makro einbinden

Verfasst: Fr 26. Aug 2011, 15:59
von Philipp
Nur bedingt. Der Dateipfad steht von anfang fest, da die Bilder zunächst über eine Software geladen werden müssen und sich ins Temp-Verzeichnis ablegen, da diese Bilder wieder einmal in einer Datenbank liegen.
Diese Bilder müssen mit einem bestimmten Namen versehen werden. Jedoch soll der Datei-Typ variieren können. Der Benutzer soll am Ende nicht immer wieder die Datei-Typen ändern müssen, um sie im Dokument angezeigt bekommen zu können. (Wir reden hier von einigen hundert Bildern).

Die Bilder heißen demnach alle "Bild.[...]". Da die in einer Datenbank abgespeichert werden, stellt dies kein Problem dar. So, wird nun das Dokument aufgerufen, soll das Bild nun aufgerufen werden, allerdings unabhängig von der Endung.
Bild.jpg soll genauso aufgerufen werden können wir Bild.bmp oder Bild.png.

Mit der Dir-Funktion lese ich alle Dateien aus einem Verzeichnis aus? bzw. Bilder?
Das heißt, ich könnte mir mit der Dir-Funktion alle Bilder raussuchen, das entsprechende Bild raussuchen (es hat schließlich einen eindeutigen Namen, der nicht varrieren darf), und den Bild-Namen+Endung an meinen Pfad anhängen.
Das ganze müsste ich dann in eine Schleife packen, damit der mir bei dem entsprechenden Bild aufhört weiter die Bilder durchzugehen.
Ich probiere das gleich mal aus und gebe dann weiter Feedback.

PS: Das Forum ist übrigends super. Freue mich immer über so kompetente Hilfe im Internet. Danke grade für deine Hilfe komma4, scheinst ja echt in der Thematik drin zu stecken.


Edit: Habe das ganze mal ausprobiert und auch nochmal die Hilfe angeschaut. Allerdings scheint er die entsprechende Datei nicht zu finden.

Code: Alles auswählen

	part1 = "C:\Dokumente und Einstellungen\"	
	part2 = Environ("username")
	part3 = "\Eigene Dateien\Eigene Bilder\"
	Path = part1 & part2 & part3
	
	Do while part4 <> ""
	part4 = Dir(Path & "B*", 0 )
	Loop
	MsgBox part4
Eigentlich müsste er mir dann ja in der MsgBox den Namen + Endung ausspucken, allerdings bleibt das ganze einfach leer.

Okay habe den Fehler entdeckt. part4 hatte den Wert "", und ich habe Do solange laufen lassen wie part4 ungleich "" ist...kontraproduktiv ;-)

Danke für deine Hilfe, jetzt spuckt er mir das richtige Bild raus.

Problem solved.

Re: Bilder per Makro einbinden

Verfasst: Mo 29. Aug 2011, 14:15
von Philipp
Ich schreib hier mal weiter, gehört nämlich eigentlich direkt dazu:

Nachdem ich nun entsprechende Bilder hochladen kann, steh ich vor dem Problem diese zu "bearbeiten".
Manuell kann ich die Bilder natürlich verschieben, die Größe ändern und und und.
Kann ich das ganze auch mithilfe eines Makros machen? Weil bisher finde ich keine Möglichkeit, die Bilder so zu verändern.
Das Tool "Makro aufzeichnen" hilft mir da kein bisschen weiter, da es kein bisschen Code aufzeichnet. Scheinbar gibt es bisher keine Möglichkeit dazu, oder habt ihr da Ideen?
In den gängigen Foren findet man dazu auch nichts, das Internet gibt auch nichts preis und sogar die guten Dokus gehen da nicht drauf ein. Ist wohl auch zu speziell.

Danke schonmal für Antwort.
Grüße

Re: Bilder per Makro einbinden

Verfasst: Di 30. Aug 2011, 08:03
von komma4
Cross-Posting http://de.openoffice.info/viewtopic.php?f=18&t=50012&

Weitere Antworten dort