Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1488to1492
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

Bilder per VBA in Datei einfügen

Bilder per VBA in Datei einfügen
29.04.2016 11:01:06
Bernd

Hallo zusammen,
ich hab mal eine Frage an die Profis, da ich aus den Googletreffern nicht schlau werde.
Ich lasse mir per Makro Bilder in eine Exceldatei einfügen, und die Datei wird anschliessend per Outlook versendet. das klappt schon soweit ganz gut; mein Problem ist jedoch, dass die unter Excel 2007 genutzte Funktion Pictures.Insert seit Excel 2010 wohl durch die geänderte Funktion Shapes.AddPicture(...) ersetzt wurde.
Wenn man Pictures.Insert nutzt, dann werden nur die Dateilinks in der Excel gespeichert und die Datei kommt beim Emailempfänger ohne das Bild an.
Leider habe ich von den Parametern dieser neuen Funktion Shapes.AddPicture keinen blassen Schimmer.
Zum Vergleich; unter Excel 2007 konnte ich Bilder noch mit folgendem Code einbinden, formatieren und versenden:
With ActiveSheet.Pictures.Insert(Me.TextBox7.Value
.Name = "Bild1"
End With
ws.Shapes("Bild1").Select
With Selection
.top = ws.Cells(18, 2).top
.left = ws.Cells(18, 2).left
.height = Range("B18:G41").height
.width = Range("B18:G41").width
End With

Ich habe versucht das auf die neue Form zu adaptieren; bekomm es aber nicht hin
With ActiveSheet.Shapes.AddPicture(Filename:=Me.TextBox7.Text, LinktoFile:=False, SaveWithDocument:=True)
.Name = "Bild1"
End With
ws.Shapes("Bild1").Select
With Selection
.top = ws.Cells(18, 2).top
.left = ws.Cells(18, 2).left
.height = Range("B18:G41").height
.width = Range("B18:G41").width
End With

Wenn ich den neuen Code ausführe bringt er mir immer den Laufzeitfehler 450:
"Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"
Was muss ich in der neuen Funktion wie einstellen, damit das Bild wieder im Excel2007-Bildformat (also Position und Größe) übernommen wird?!?!
Wie wird das denn umgerechnet (Zellposition zu Pixel?!)?
Danke und Grüße

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilder per VBA in Datei einfügen
29.04.2016 11:50:33
Nepumuk
Hallo,
teste mal:
Dim objPicture As Shape
Set objPicture = ActiveSheet.Shapes.AddPicture(Filename:=Me.TextBox7.Text, LinktoFile:=msoFalse, _
    SaveWithDocument:=msoTrue, Left:=ws.Cells(18, 2).Left, Top:=ws.Cells(18, 2).Top, _
    Width:=Range("B18:G41").Width, Height:=Range("B18:G41").Height)
objPicture.Name = "Bild1"
Set objPicture = Nothing

Gruß
Nepumuk

Anzeige
AW: Bilder per VBA in Datei einfügen
02.05.2016 09:13:01
Bernd
Perfekt, funktioniert einwandfrei!
So einfach kann es gehen.
Danke Nepumuk!

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige