Word-VBA: markierte Bilder aus Dialog Grafik

Hallo,

ich versuche gerade ein kleines Makro zu schreiben, aus dem ich markierte Bilder in ein Worddokument laden kann. Ich stecke hier beim Ermitteln der Anzahl der markierten Bilder im Dialog „Grafik einfügen“ fest. Mit der Anzahl möchte ich eine Scheife zur Anpassung der einzelnen Bilder an die Größe usw. durchlaufen lassen.

Ich habe das Web schon etwas durchsucht. Zur Anzahl der Bilder im Word-Dokument gibt es einiges. Bei meiner Suche bin ich aber auf keinen Hinweis gestoßen, wie ich die Anzahl von markierten Grafiken im Dialog „Grafik einfügen“ ermitteln kann.
Kann mir hier jemand helfen?

Vielen Dank

ich versuche gerade ein kleines Makro zu schreiben, aus dem
ich markierte Bilder in ein Worddokument laden kann. Ich
stecke hier beim Ermitteln der Anzahl der markierten Bilder im
Dialog „Grafik einfügen“ fest. Mit der Anzahl möchte ich eine
Scheife zur Anpassung der einzelnen Bilder an die Größe usw.
durchlaufen lassen.

Hallo Sag,

welche Word-Version?

Bei meinem Word 2000 gibt es nix was „Grafik Einfügen“ heißt.
Ich gehe auf Einfügen–Grafik, dann kommt eine Abfrage woher die Grafik kommen soll, ClipArt, Datei usw.

In welchem Menue bist du?

Und Größe usw. der Grafiken würde ich per makro nach dem Einfügen in Word machen lassen.
Warum willst du das nicht?

Gruß
Reinhard

Hallo Reinhard,

danke erstmal für die Antwort.

Ich arbeite mit Word 2007. Hier hat sich wohl in diesem Menüpunkt etwas getan. Man kann in der 2007er Version mehrere Dateien (Grafiken) gleichzeitig einfügen. Ich weiß nicht mehr ob das mit den früheren Versionen 2000 oder 2003 schon geht. Wenn ja, sollte es für die Anzahl von markeirten Dateien (Grafiken) auch schon einen Befehl geben oder besser gesagt die Anzahl der markierten Bilder sollte irgendwie zu ermitteln sein.

Hintergrund ist, dass ich wieder und wieder Fotodokumentationen erstelle und hierfür mir eine Vereinfachung schreiben wollte. Das Schema ist immer das selbe - 2 Bilder je Seite mit kurzer Bildbeschriftung. In der Bildbeschriftung sollte gleich der ehemalige Dateiname auftauchen, damit man das Bild auf einer mitgelieferten CD-Rom leichter finden kann. Die Bildgröße wollte ich variabel halten, jenachdem wie groß die Beschriftung des Bildes ist.

Hallo Sag,

Ich arbeite mit Word 2007. Hier hat sich wohl in diesem
Menüpunkt etwas getan. Man kann in der 2007er Version mehrere
Dateien (Grafiken) gleichzeitig einfügen. Ich weiß nicht mehr
ob das mit den früheren Versionen 2000 oder 2003 schon geht.

In 2000 wohl nicht, bei Einfügen aus Datei kann man nur eine auswählern (nix mit Strg halten o.ä.), bei Einfügen aus Cliparts kann man mehrere markieren mit gedrügter Strg und auch mir Rechtsklick „Kopieren“ auswähglen, aber ins Blatt einfügen gelang mir nicht.

Wenn ja, sollte es für die Anzahl von markeirten Dateien
(Grafiken) auch schon einen Befehl geben oder besser gesagt
die Anzahl der markierten Bilder sollte irgendwie zu ermitteln
sein.

Mir nicht bekannt, das bedeutet natürlich rei garnix nix, grad bei 2007.

Hintergrund ist, dass ich wieder und wieder
Fotodokumentationen erstelle und hierfür mir eine
Vereinfachung schreiben wollte. Das Schema ist immer das selbe

  • 2 Bilder je Seite mit kurzer Bildbeschriftung. In der
    Bildbeschriftung sollte gleich der ehemalige Dateiname
    auftauchen,

Vielleicht hilft dir der nachfolgende Code. Wie man den ehemaligen Pfad der Bilddatei ermittelt weiß ich nicht.

Gruß
Reinhard

Sub Bilder()
Dim Bild As Shape
Application.ScreenUpdating = False
For Each Bild In Worksheets("Tabelle1").Shapes
 MsgBox Bild.AlternativeText
Next Bild
Application.ScreenUpdating = True
End Sub

Hallo Sag,

Hintergrund ist, dass ich wieder und wieder Fotodokumentationen erstelle und hierfür mir eine Vereinfachung schreiben wollte. Das Schema ist immer das selbe - 2 Bilder je Seite mit kurzer Bildbeschriftung. In der Bildbeschriftung sollte gleich der ehemalige Dateiname auftauchen,

Vor über 15 Jahren hatte ich das Problem auch schon. Mein Ansatz lief unter Word6.0 für Windows und war ganz anders (weil ich damals mit UserForms nicht umgehen konnte - wenn es sie überhaupt schon gab):

  • Dokumentvorlage mit AutoNew-Makro. Dies fragt den Benutzer, wieviele Bilder für die aktuelle Außergerichtliche Beweissicherung und was das häufigste Datum der Bilder war. Makro fügt daraufhin die benötigte Anzahl von meinen Rahmen ein.

  • Damals gab’s im Feld kaum noch digitale Fotographie, deshalb wurden 10*15-Fotos eingeklebt. Von Word aus gesehen waren meine Rahmen eine zweizeilige Tabelle.


    Leerraum für Bild
    lfd. Nr.

… Diese Tabelle steckte in einem Positionsrahmen.
… Für gerade und ungerade lfd. Nummern gab es je einen Positionsrahmen, der meine Rahmen jeweils korrekt in der oberen oder unteren Hälfte der Seite positionierte.
… Der Dokumentvorlage mitgegeben wurden meine Rahmen in zwei Textbausteinen (heute AutoText) namens BildOben und BildUnten — kreativ, nicht? :smile:

ich versuche gerade ein kleines Makro zu schreiben, aus dem ich markierte Bilder in ein Worddokument laden kann. Ich stecke hier beim Ermitteln der Anzahl der markierten Bilder im Dialog „Grafik einfügen“ fest. Mit der Anzahl möchte ich eine Scheife zur Anpassung der einzelnen Bilder an die Größe usw. durchlaufen lassen.
Man kann in der 2007er Version mehrere Dateien (Grafiken) gleichzeitig einfügen. Wenn ja, sollte es für die Anzahl von markeirten Dateien (Grafiken) auch schon einen Befehl geben oder besser gesagt die Anzahl der markierten Bilder sollte irgendwie zu ermitteln sein.

Generell funktioniert die Auswertung von Dialogen so, daß man sie mit Show anzeigen läßt und das Ergebnis auswertet, wenn der Benutzer OK geklickt hat:

Dialogs(wdDialog-Literalkonstante).Show

Beim jeweiligen Dialog findest Du in der Hilfe eine Parameterliste. Dort müßte auch der gesuchte Array sein.

Zum Problem denke ich aber folgendes.

  • Digitale Kameras, die ich kenne, liefern jpgs mit Dateinamen wie DSCN0001.jpg. Für die Bilder einer bestimmten Dokumentation gibt es dann doch einen bestimmten Nummernkreis, also DSCN0450 bis DSCN0478. Weil Du offensichtlich nicht alle Bilder verwenden willst, möchtest Du bereits im Einfügen-Dialog den Benutzer die Auswahl treffen lassen.
    Wenn die Auswertung des Einfügen-Graphik-Dialogs aber nicht funktionieren sollte, könntest Du doch statt dessen den kompletten Nummernkreis in ein Dokument einfügen und den Benutzer auffordern, überflüssige Rahmen zu löschen. Mir ist letztere Methode sogar sympathischer, weil der Benutzer dann jedes Foto im Endzustand sieht.

  • Wenn die Bilder in einem Positionsrahmen stecken, kannst Du sie über die Shapes-Kollektion ansprechen (siehe Reinhards Code).
    Zusätzlich kannst Du dem Benutzer zwei Makros schreiben, die den vorherigen bzw. nächsten Positionsrahmen anspringen. Die packst Du in eine Symbolleiste und gibst ihnen die vertrauten Vor-/Zurück-Schaltflächenbilder aus der Web-Symbolleiste.

HTH.

Markus
_________________
Und Sterne sammel’ ich noch immer.

P.S.: Fällt mir gerade noch ein: wenn man Bilder in eine Tabelle einfügt, werden sie an die Tabelle angepaßt, nicht?

Vielen Dank für die Hilfe. Das sind super Ideen. Ich werd mich gleich mal ran machen und sehen was ich umsetzen kann.