Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bild aus Ordner in Zelle einfügen

Bild aus Ordner in Zelle einfügen
12.08.2021 08:20:12
Ulli
Hallo,
ich habe eine Frage.
Ich würde gerne mit einem Makro das letzte Bild (jüngstes Speicherdatum) aus dem Microsoft Standard Ordner für Bilder in die aktive Zelle des Excel Arbeitsblatt einfügen.
Der Pfad zum Ordner steht in Zelle "F3"
Das vorhandene Makro (BilderImport) fügt ein Bild ein, aber es ist nicht das letzte (neuste Bild)
Folgende Änderungen am Mako wären top:
1. Einfügen vom letzten (jüngste) Bild
2. Einfügen in aktive Zelle
3. Pfad zum Ordner aus Zelle "F3" übernehmen
Ist dies umsetzbar?
Vielen Dank für eure Unterstützung
https://www.herber.de/bbs/user/147573.xlsm
Gruß Ulli
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 09:15:26
Ulli
Hallo Nepumuk,
einwandfrei, super!
Schön wäre noch wenn der Dateipfad nicht feste hinterlegt wäre .FolderPath = "C:\Users\UI\Pictures\" sondern aus der Zelle F3 übernommen würde und wenn das Bild der Zellgröße angepasst würde.
Werden nur .jpg berücksichtigt? oder kann ich unter .Extension = "*.jpg" auch andere vorgeben?
Viele Grüße Ulli
Anzeige
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 09:59:46
Nepumuk
Hallo Ulli,
folgende Änderung:

Public Sub BilderImport()
Dim objFileSearch As clsFileSearch
Dim lngIndex As Long, lngFileCount As Long
Dim vntExtension As Variant
Set objFileSearch = New clsFileSearch
With objFileSearch
.Extension = "*.jpg"
.FolderPath = Tabelle1.Range("F3").Text
.SearchLike = "*"
.SubFolders = False
For Each vntExtension In Array("*.jpg", "*.gif", "*.bmp") 'Anpassen !!!
.Extension = vntExtension
lngFileCount = .Execute(Sort_by_Date_Create, Sort_Order_Descending)
Next
If lngFileCount > 0 Then
Call Tabelle1.Shapes.AddPicture(Filename:=.Files(1).Path, LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=-1, Height:=-1)
Else
Call MsgBox("Keine Bilder gefunden.", vbExclamation, "Hinweis")
End If
End With
Set objFileSearch = Nothing
End Sub
Gruß
Nepumuk
Anzeige
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 10:10:54
Ulli
Hallo Nepumuk,
einwandfrei,
nur die Anpassung vom Bild an die Zellgröße wird nicht umgesetzt?
(schön wäre wenn das Längen-Breiten Verhältnis bleiben würde)
Viele Grüße Ulli
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 11:11:06
Nepumuk
Hallo Ulli,
dann mach es so:

Public Sub BilderImport()
Dim objFileSearch As clsFileSearch
Dim objShape As Shape
Dim lngIndex As Long, lngFileCount As Long
Dim vntExtension As Variant
Set objFileSearch = New clsFileSearch
With objFileSearch
.Extension = "*.jpg"
.FolderPath = Tabelle1.Range("F3").Text
.SearchLike = "*"
.SubFolders = False
For Each vntExtension In Array("*.jpg", "*.gif", "*.bmp") 'Anpassen !!!
.Extension = vntExtension
lngFileCount = .Execute(Sort_by_Date_Create, Sort_Order_Descending)
Next
If lngFileCount > 0 Then
Set objShape = Tabelle1.Shapes.AddPicture(Filename:=.Files(1).Path, LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=-1, Height:=-1)
With objShape
.LockAspectRatio = msoTrue
.With = 100 'Anpassen !!!
.Height = 100 'Anpassen !!!
End With
Set objShape = Nothing
Else
Call MsgBox("Keine Bilder gefunden.", vbExclamation, "Hinweis")
End If
End With
Set objFileSearch = Nothing
End Sub
Gruß
Nepumuk
Anzeige
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 11:40:28
Ulli
Hallo Nepumuk,
sorry, ich noch einmal.
ich kann mit dieser Erweiterung das Bild beim Einfügen anpassen, das klappt.
Gedacht war eigentlich, dass die Größe vom Bild beim Einfügen so skaliert wird, dass es in die aktive Zelle passt.(Seitenverhältnisse vom Bild nicht geändert, d.h. nicht verzerrt)
Ist das möglich.
Viele Grüße Ulli
Anzeige
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 11:57:06
Rudi

With objShape
.LockAspectRatio = msoTrue
.Width = ActiveCell.Width
.Height = ActiveCell.Height
'such dir was aus
End With
Gruß
Rudi
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 12:23:07
Ulli
Hallo Rudi,
funktioniert! Danke
Ist es denn auch möglich dass das Bild grundsätzlich (egal ob hochkant oder quer) innerhalb der Zelle eingefügt wird?
Ich hatte mal folgendes gefunden.
Bekomme es aber nicht zusammen.
Gruss Ulli

Sub Bild_einfügen()
Const strPATH = "C:\Artikelbilder\"
Dim M As String
Dim rngZielZelle As Range
M = "C016510100000"
Set rngZielZelle = ActiveSheet.Cells(5, 1)              ' Zielzelle
With ActiveSheet.Pictures.Insert(strPATH & M & ".jpg")
.Top = rngZielZelle.Top
.Left = rngZielZelle.Left
With .ShapeRange
.LockAspectRatio = msoTrue
If .Height > rngZielZelle.Height Then .Height = rngZielZelle.Height
If .Width > rngZielZelle.Width Then .Width = rngZielZelle.Width
End With
End With
End Sub

Anzeige
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 12:28:23
Nepumuk
Hallo Ulli,
was ist daran jetzt so schwer?

With objShape
.LockAspectRatio = msoTrue
If .Height > ActiveCell.Height Then .Height = ActiveCell.Height
If .Width > ActiveCell.Width Then .Width = ActiveCell.Width
End With
Gruß
Nepumuk
AW: Bild aus Ordner in Zelle einfügen
12.08.2021 12:35:59
Ulli
Hallo Nepumuk,
wieder eine Top Lösung, funktioniert tadellos.
Danke für deine Hilfe!!
(Dank auch an Rudi!)
Viel Grüße Ulli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige