Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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
Inhaltsverzeichnis

Bildgröße fixieren vba

Bildgröße fixieren vba
07.02.2020 11:13:28
G.W.
Hallo,
ich bin neu hier und zunächst vielen Dank für die vielen hilfreichen Posts und Erklärungungen in diesem Forum. Sie haben mir den Wechsel zu VBA massiv erleichtert.
Ich habe folgende Frage:
Ich möchte ein Bild (der Pfad ist in meinem Arbeitsblatt in Feld 103 gespeichert) über einen CommandButton in einem UserForm an Word in ein Steuerlement einer .dotx übergeben.
Das funktioniert auch gut mit:
ActiveDocument.ContentControls(2).Range.InlineShapes.AddPicture Filename:=Cells(ActiveCell.Row, 103), LinkToFile:=False ' hier mal ein Bild
Danach kommen weitere Steuerlemente mit ActiveDocument.ContentControls(n).Range.Text
Ich möchte jetzt sicherstellen, dass das Bild in Word angekommen nur eine bestimmte, feste Größe hat, weil ich sonst Probleme mit dem Seitenumbruch meines Word-Dokumentes kriege.
Habe gelesen, dass das mit ActiveX Steuerelementen gehen soll, finde aber nichts, wie ich die Größe fixieren kann. Gibts da was?
Für EureTipps wäre ich sehr dankbar.
LG
G.W.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:Bildgröße fixieren vba (active X Steuerelement
08.02.2020 14:15:32
G.W.
Hallo nochmal,
hat irgendwer eine Lösung?
Bin bei all meinen Versuchen mit meinem Latein am Ende.
LG
G.W.
AW: AW:Bildgröße fixieren vba (active X Steuerelement
09.02.2020 12:33:47
Matthias
Moin!
Weiß nicht genau, was du mit den ActiveX Elementen meinst. Du könntest aber beim EInfügen, das Bild einer Variablen zuweisen und dann die Größe manuell im Code nochmal festsetzen. BSpw. so
set temp = ActiveDocument.ContentControls(2).Range.InlineShapes.AddPicture (Filename:=Cells( _
ActiveCell.Row, 103), LinkToFile:=False)
temp.height = 200

Du könntest das Bild auch an Image Element zuweisen. Dort kannst du die Größe festlegen und die bleibt dann so. Das Bild müsstest du beim PictureSizeMode auf fmPictureSizeModeStretch einstellen. Damit wird es dort angepasst. Dsa Einfügn würde ungefähr so gehen (musst es nur anpassen)
ActiveDocument.Image2.Picture = LoadPicture(Cells(ActiveCell.Row, 103))
VG
Anzeige
AW: AW:Bildgröße fixieren vba (active X Steuerelement
11.02.2020 10:47:52
G.W.
Moin Mattias,
vielen Dank für Deinen Vorschlag.
Das mit der 'set' Variante ist super.
Sicher noch ein wenig um die Ecke gedacht, aber das Ergenis zählt. Hab es für insgesamt 9 Bilder jetzt so gelöst:
In meiner .dotx (aDok) habe ich keine activeXSteuerelemente sondern 'normale' Bild-Steuerlemente eigefügt und in meinem Code mit aDok.ContentControls(1 + i) angesprochen.
Dim SHP 'As InlineShape/As Shape
Dim twidth As Double
For i = 1 To 3
Set SHP = aDok.ContentControls(1 + i).Range.InlineShapes.AddPicture(Filename:=Cells( _
ActiveCell.Row, 102 + i), LinkToFile:=False, SaveWithDocument:=True)
With SHP
.LockAspectRatio = msoTrue 'Bildverhältnis beibehalten
.Width = InchesToPoints(0.5)'Größe auf 0.5 inch festlegen
End With
Next
For i = 4 To 9 ' Größe für unterschiedliche Bilddateien ans Dokument angleichen
Set SHP = aDok.ContentControls(1 + i).Range.InlineShapes.AddPicture(Filename:=Cells(ActiveCell.  _
_
Row, 102 + i), LinkToFile:=False, SaveWithDocument:=True)
If Right(Cells(ActiveCell.Row, 102 + i), 7) = "HAL.jpg" Then twidth = 0.75
If Right(Cells(ActiveCell.Row, 102 + i), 7) = "KOS.jpg" Then twidth = 0.75
If Right(Cells(ActiveCell.Row, 102 + i), 7) = "ALL.jpg" Then twidth = 0.6
If Right(Cells(ActiveCell.Row, 102 + i), 7) = "GMO.jpg" Then twidth = 0.6
If Right(Cells(ActiveCell.Row, 102 + i), 7) = "GMP.jpg" Then twidth = 0.6
If Right(Cells(ActiveCell.Row, 102 + i), 7) = "ORG.jpg" Then twidth = 0.8
If Right(Cells(ActiveCell.Row, 102 + i), 7) = "eer.jpg" Then twidth = 0.5
With SHP
.LockAspectRatio = msoTrue
.Width = InchesToPoints(twidth)
End With
Next
Im Ergebnis habe ich 9 gleichgroße Bilder in meinem Word-Dokument.
War genau der richtige Hinweis für mich, Danke.
LG
G.W.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige