Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Fotogröße automatisch ändern
Sandra
Hallo Ihr lieben.
Ich hab mal wieder ein Problem.
Diesmal benötige ich ein Makro, welches beim Einfügen von Fotos die Größe des Bildes automatisch auf 6,77 x 9,03 cm ändert.
:-(
Könnt Ihr mir dabei helfen?
Liebe Grüß
Sandra
Fotogröße per Makro ändern
30.11.2009 13:03:56
NoNet
Hallo Sandra,
AUTOMATISCH kann man das Bild leider nicht formatieren, da es in Excel kein Ereignis gibt, das automatisch nach dem Einfügen eines Bildes ausgeführt wird.
Du könntest allerdings das folgende Makro kopiere und diesem einen Shortcut zuweisen :
Sub BildgroesseAnpassen()
'Aktivierte Grafik formatieren :
If TypeName(Selection) = "Picture" Then 'nur wenn Grafik markiert ist :
With Selection.ShapeRange
.LockAspectRatio = False
'Breite und Höhe der Grafik bitte in Klammer hier anpassen :
.Height = Application.CentimetersToPoints(6.77)
.Width = Application.CentimetersToPoints(9.03)
End With
End If
End Sub
Gruß, NoNet
Anzeige
AW: Fotogröße per Makro ändern
30.11.2009 13:25:57
Sandra
Hallo NoNet
Das funktioniert schon ganz gut. Aber das muss für alle Fotos klappen. Ich will das Makro nur einmal ausführen müssen.
Geht es sonst mit einem AddIn o. ä.?
Danke & Gruß
Sandra
GRöße ALLER Bilder per Makro ändern
30.11.2009 14:52:40
NoNet
Hallo Sandra,
probiere es mal hiermit :
Sub AlleBildgroessenAnpassen()
Dim objPic As Object
For Each objPic In ActiveSheet.Pictures
'Alle Grafiken formatieren :
With objPic.ShapeRange
.LockAspectRatio = False
'Breite und Höhe der Grafik bitte in Klammer hier anpassen :
.Height = Application.CentimetersToPoints(6.77)
.Width = Application.CentimetersToPoints(9.03)
End With
Next
End Sub
Gruß, NoNet
Anzeige
AW: GRöße ALLER Bilder per Makro ändern
30.11.2009 15:20:54
Sandra
Hallo NoNet.
Das klappt super. Nun Gibt es nur ein Problem - der Chef möchte ab sofort die Fotos in ein Word-Dokument eingefügt haben. Dafür funktioniert dieses Makro wahrscheinlich nicht. Kennst Du eine Word-Forum-Seite die so gut ist wie dieses Excel-Forum?
P. s. Deine Hilfe war aber nicht umsonst. Durch die Größenanpassung die ich vornehmen kann, kann ich das Makro immer wieder verwenden.
Danke & Gruß
Sandra
Größe ALLER Bilder in WORD per Makro ändern
30.11.2009 16:26:17
NoNet
Hallo Sandra,
hier nun Makro-Lösung #3 - diesmal für WORD :
Sub AlleBildgroessenAnpassen()
Dim objPic As Object
For Each objPic In ActiveDocument.InlineShapes
With objPic
.LockAspectRatio = msoFalse
.Width = Application.CentimetersToPoints(9.03)
.Height = Application.CentimetersToPoints(6.77)
End With
Next
End Sub
Ob es ein vergleichbares Forum für WORD gibt, kann ich nicht beurteilen, da ich sehr selten in WORD-Foren hinein schaue.
Bis Mai 2008 gab es bei Spotlight.de eine WORD-Rubrik - dort habe ich gelegentlich auch Fragen beantwortet und man kann dort zumindest im vorhandenen Archiv noch suchen :
http://www.spotlight.de/zforen/msw/t/forum_msw_1.html
Aktuell kann ich folgende WORD-Foren empfehlen (Anmeldung erforderlich !) :
http://www.ms-office-forum.net
bzw. Unterforum WORD :
http://www.ms-office-forum.net/forum/forumdisplay.php?f=30
Oder auch das allseits bekannte Office-Loesung-Forum :
http://www.office-loesung.de
Viel Erfolg,
Gruß NoNet
Anzeige
AW: Größe ALLER Bilder in WORD per Makro ändern
30.11.2009 17:10:48
Sandra
Das funktioniert leider nicht.
Fehler:Laufzeitfehler 424: Objekt erforderlich.
Außerdem ist mir aufgefallen:
1. Passt er die Größe entsprechend der Ausrichtung an? Also ein Querformatbild muss die Maße ja "anders herum" haben.
2. Auf Seite 1 ist ein Bild das nicht bearbeitet werden soll. Es sollen nur die Bilder in der Tabelle angepasst werden. Geht es nicht irgendwie, dass das Bild bereits beim einfügen angepasst wird?
Danke für Deine Hilfe - ich werde mich mal bei Gelegenheit bei den Word-Foren umsehen.
Bis dato musste ich immer nur Makros für Excel erarbeiten.
Lieben Gruß Sandra
Anzeige
NEIN : Makro "beim Einfügen" gibt es nicht
30.11.2009 17:41:05
NoNet
Hallo Sandra,
da kommst Du ja mit immer neuen Anforderungen :
ein Querformatbild muss die Maße ja "anders herum" haben.

Das ist nicht schön und erschwert die Angelegenheit. Bemühe dich doch bitte gleich zu Beginn alle notwendigen Informationen anzugeben - Danke.
Geht es nicht irgendwie, dass das Bild bereits beim einfügen angepasst wird?

Nein, das geht leider nicht. Excel führt Makros "automatisch" nur in Verbindung mit sog. "Ereignissen" (engl.: "events") aus, z.B: wenn eine Zelle angeklickt wurde oder geändert wurde, ein anderes Blatt ausgewählt wurde etc.
Diese Ereignisse sind in Excel fest vorgegeben ! Ein Ereignis "Beim Einfügen von Bildern" gibt es in Excel nicht, daher kann es dazu auch kein "automatisches" 'Makro geben.
Wie das mit Bildern in Tabellen (oder: nur einer bestimmten Tabelle ?) funktioniert, kann ich leider nicht beantworten, da ich mich dazu zu wenig in WORD VBA (genauer: in der WORD Objekthierarchie und der zugehörigen VBA Schlüsselwörter) auskenne. In diesem Fall ist es tatsächlich geeigneter, wenn Du diese Frage nochmal in einem der genannten WORD-Foren stellst.
Kopiere im WORD-Forum bitte auch die URL Deiner Anfrage hier im Forum hinein, evtl. hilft das den dortigen Helfern. Hier ist die URL :
https://www.herber.de/forum/archiv/1120to1124/t1120981.htm#1120981
Viel Erfolg, Gruß NoNet
Anzeige
AW: NEIN : Makro "beim Einfügen" gibt es nicht
01.12.2009 10:37:58
Sandra
Hallo NoNet.
Es tut mir leid. Aber eine genauere Angabe war mir zu Beginn nicht möglich. Leider fälltd en Chefs immer nach und nach ein was sie haben möchten. :(
Ich habe das ganzue Thema jetzt mal veröffentlicht - mal sehen ob es hilft.
Dir danke ich sehr für Deine Hilfe. Deine Arbeit war ja trotzallem nicht umsonst.
Lieben Gruß
Sandra
AW: Größe ALLER Bilder in WORD per Makro ändern
30.11.2009 17:54:27
fcs
Hallo Sandra,
wie fügst du die Bilder denn in Word ein?
Wenn du die Bilder via Grafik einfügen aus Datei in das Word-Dokument schaffst, dann kann man wahrscheinlich das Makro mit der Anzeige eines Dateiauswahl-Dialogs starten und nach der Dateiauswahl dann das eingefügten Bild manipulieren.
Gruß
Franz
Anzeige
AW: Größe ALLER Bilder in WORD per Makro ändern
01.12.2009 10:08:20
Sandra
Guten Morgen Franz.
Das hört sich ja schon einmal nicht schlecht an.
Also der jetzige Stand sieht so aus:
- Ich habe eine Word-Datei.
- Auf Seiete 1 ist ein Bild, welches nicht geändert werden darf.
- Es gibt in dem Dokument eine Tabelle.
- In diese Tabelle werden die Bilder einzelnd mittels "Grafik einfügen" eingefügt.
- Die Bilder sind nur leider IMMER zu groß.
- Es gibt Bilder sowohl in horizontaler als auch in Vertikaler Ausrichtung.
Hast Du ne Idee, wie ich das realisiert bekomme?
Danke und Gruß
Sandra
AW: Größe ALLER Bilder in WORD per Makro ändern
01.12.2009 17:47:00
fcs
Hallo Sandra,
die nachträgliche Bearbeitung aller Grafikobjekte(Bilder) in der Datei ist etwas mühselig per Makro und auch störungsanfällig. Gut funktionieren die beiden Makros zum Anpassen der Bildgröße wenn du ein eingefügtes Bild markiert hast. Drehen kannst du dann wohl einfacher über die Grafik-Symbolleiste.
Für neu einzubindende Grafiken mal als Grundgerüst das folgende Makro. Es fügt an der Cursor-Position die gewählte Grafik ein und du kannst im Dialog wählen, ob gedreht werden soll.
Du wolltest Höhe und Breite fest vorgeben. Dadurch werden Grafiken ggf. verzerrt, wenn das Original ein anderes Seitenverhältnis hat.
Ich probier nachher nochmal, ob die Makros auch unter Word 2007 funktionieren.
Die Makros richtest du am besten in deiner Normal.dot ein, damit sie immer verfügbar sind.
Gruß
Franz
'Erstellt unter Word 2003 / Windows XP
Sub Grafik_Laden()
' Grafik_Laden Makro
' Grafik laden, Größe anpassen und ggf. drehen
Dim objDoc As Document, DateiGrafik As Variant, objGrafik As InlineShape
Dim objShape As Shape
Dim Auswahl
Set objDoc = ActiveDocument
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte zu ladende Grafikdatei auswählen"
.InitialView = msoFileDialogViewPreview
.ButtonName = "Datei wählen"
If .Show = -1 Then
Selection.InlineShapes.AddPicture FileName:= _
.SelectedItems(1), LinkToFile:=False, SaveWithDocument:=True
Set objGrafik = objDoc.InlineShapes(objDoc.InlineShapes.Count)
'Eingefügtes Bild formatieren - Zeilen mit nicht anzupassenden Formate ggf.  _
auskommentieren
With objGrafik
.Fill.Visible = msoFalse
.Fill.Solid
.Fill.Transparency = 0#
.Line.Weight = 0.75
.Line.Transparency = 0#
.Line.Visible = msoFalse
.LockAspectRatio = msoFalse  'Größenverhältniss nicht sperren - verzerrt ggf die  _
Bilder
.Height = Application.CentimetersToPoints(6.77) 'Höhe
.Width = Application.CentimetersToPoints(9.03) 'Breite
.PictureFormat.Brightness = 0.5
.PictureFormat.Contrast = 0.5
.PictureFormat.ColorType = msoPictureAutomatic
.PictureFormat.CropLeft = 0#
.PictureFormat.CropRight = 0#
.PictureFormat.CropTop = 0#
Set objShape = .ConvertToShape 'Umwandlung für Drehen erforderlich
End With
With objShape
Grafik_Drehen:
.WrapFormat.Type = wdWrapSquare 'für Drehen erforderlich
Auswahl = VBA.InputBox(Prompt:="Bild drehen?" & vbLf & vbLf _
& " 0 = nicht drehen" & vbLf _
& " 1 = 90 Grad nach rechts drehen" & vbLf _
& " 2 = 90 Grad nach links  drehen" & vbLf _
& " 3 = 180 Grad nach rechts  drehen", _
Title:="Eingefügte Grafik Drehen", _
Default:=0)
If Not Auswahl = False Then
Select Case Auswahl
Case 0
Case 1
.IncrementRotation 90#
Case 2
.IncrementRotation -90#
Case 3
.IncrementRotation -90#
.IncrementRotation -90#
Case Else
MsgBox "Unzulässige Auswahl für Drehen Grafik. Bitte Eingabe wiederholen"
GoTo Grafik_Drehen
End Select
End If
.ConvertToInlineShape 'Rückkonvertierung
End With
End If
End With
End Sub
Sub BildgroesseQuerAnpassen()
'Aktivierte Grafik im Querformat in Größe anpassen
Dim objRange As Object
On Error GoTo Fehler
Set objRange = Selection.InlineShapes(1)
With objRange
.LockAspectRatio = False
'Breite und Höhe der Grafik bitte in Klammer hier anpassen :
.Height = Application.CentimetersToPoints(6.77)
.Width = Application.CentimetersToPoints(9.03)
End With
Fehler:
With Err
Select Case .Number
Case 0 'Kein Fehler
Case Else
MsgBox "Fehler-nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub
Sub BildgroesseHochAnpassen()
'Aktivierte Grafik im Hochformat in Größe reduzieren
Dim objRange As Object
On Error GoTo Fehler
Set objRange = Selection.InlineShapes(1)
With objRange
.LockAspectRatio = False
'Breite und Höhe der Grafik bitte in Klammer hier anpassen :
.Height = Application.CentimetersToPoints(9.03)
.Width = Application.CentimetersToPoints(6.77)
End With
Fehler:
With Err
Select Case .Number
Case 0 'Kein Fehler
Case Else
MsgBox "Fehler-nr.: " & .Number & vbLf & .Description
End Select
End With
End Sub

Anzeige
AW: Größe ALLER Bilder in WORD per Makro ändern
02.12.2009 03:52:24
fcs
Hallo Sandra,
der unter Word 2003 erstellte Code funktioniert auch unter Word 2007.
Ich hab aber noch ein paar Anpassungen gemacht.
1. Filter für Dateiauswahl
2. Inputbox Option 0 weg
3. Hoch und querliegende Grafiken an Hand der Abmessungen unterschlich in den Abmessungen angepasst.
4. Verarbeitung der Inputbox-Eingaben geändert (Logic, Reihenfolge)
Gruß
Franz
angepasster Code als Textdatei:
https://www.herber.de/bbs/user/66315.txt
AW: Größe ALLER Bilder in WORD per Makro ändern
03.12.2009 17:29:10
Sandra
Hallo zusammen!
Tut mir leid, dass ich mich noch nicht gemeldet habe. Ich werde das bei Gelegenheit ausprobieren und mich noch einmal melden.
Lieben Gruß
und herzlichen Dank!!!
Sandra
Anzeige

122 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige