Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bilder in Excel einfügen - Stapelverarbeitung?

Bilder in Excel einfügen - Stapelverarbeitung?
07.08.2005 19:10:17
Alpers
Hallo,
ich habe folgendes Problem:
Ich möchte ca. 700 Bilder (jpegs mit ca. je 100 kb Größe) in eine Excel-Tabelle einfügen und diese mit den Dateinamen versehen.
Gibt es eine Möglichkeit, dass ich mir die Arbeit erspare und jede Grafik einzeln einfügen und den entsprechenden Dateinamen runtersetzen muss? Ich kenne so etwas von der Stapelverarbeitung bei Grafikprogrammen.
Bin für jeden ausführlichen Tipp dankbar. Leider sind meine Kenntnisse in Excel sehr beschränkt.
Beste Grüße
Sascha

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilder in Excel einfügen - Stapelverarbeitung?
07.08.2005 19:31:59
Josef
Hallo Sascha!
Du schreibst nicht wie und wo die Bilder eingefügt werden sollen!
Probier mal das!
Option Explicit

Sub BilderEinfuegen()
    'by J.Ehrensberger
    
    Dim fSearch As FileSearch
    Dim strPath As String
    Dim iCnt As Integer
    Dim pic As Picture
    
    On Error GoTo ERRORHANDLER
    Application.ScreenUpdating = False
    
    ' "alte" Bilder löschen
    ActiveSheet.Pictures.Delete
    
    'Pfad anpassen
    strPath = "C:\Dokumente und Einstellungen\Admin\Eigene Dateien\Eigene Bilder\" ' <-- Pfad zu den Bildern!
    
    Set fSearch = Application.FileSearch
    
    With fSearch
        .NewSearch
        .LookIn = strPath
        .SearchSubFolders = False '<<<<Unterordner durchsuchen True/False
        .FileType = msoFileTypeAllFiles
        .Filename = "*.jpg" '<<<<Dateiendung
        .Execute
        
        If .Execute() > 0 Then
            
            'gefundene Dateien durchlaufen
            For iCnt = 1 To .FoundFiles.Count
                'Bild einfügen
                Set pic = ActiveSheet.Pictures.Insert(.FoundFiles(iCnt))
                'Größe anpassen und ausrichten
                With pic.ShapeRange
                    .LockAspectRatio = msoTrue
                    .Left = Cells(iCnt, 1).Left
                    .Height = Cells(iCnt, 1).Height
                    .Top = Cells(iCnt, 1).Top
                End With
                Cells(iCnt, 2) = .FoundFiles(iCnt)
                Set pic = Nothing
                
            Next
            
        End If
        
    End With
    
    Set fSearch = Nothing
    
    ERRORHANDLER:
    Application.ScreenUpdating = True
End Sub





Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: Bilder in Excel einfügen - Stapelverarbeitung?
08.08.2005 07:25:36
Alpers
Hallo Sepp,
vielen Dank für Deine schnelle Antwort.
Ich habe das Makro eingefügt und die Änderungen vorgenommen. Leider tut sich bei mir gar nichts.
Vielleicht noch einmal ein paar Details zur Sache selbst:
Ich habe ca. 700 Bilder mit gleichem Format, die in eine Excel-Tabelle eingefügt werden sollen. Am besten, sofern möglich, sollte jedes Bild in eine Zelle eingefügt werden und in der Zeile drunter sollte direkt der jeweilige Dateiname stehen.
Die Bilder sind in einem Hauptordner mit verschiedenen Unterordnern abgelegt.
Kannst Du mir noch einmal helfen? Danke!
Beste Grüße
Sascha
Anzeige
AW: Bilder in Excel einfügen - Stapelverarbeitung?
08.08.2005 20:22:15
Josef
Hallo Sascha!
Wenn du den Pfad zu deinem Bilderordner richtig angibst, dann sollte das funzen!
Sub BilderEinfuegen()
    'by J.Ehrensberger
    
    Dim fSearch As FileSearch
    Dim strPath As String
    Dim iCnt As Long
    Dim lRow As Long
    Dim pic As Picture
    Dim picHeight As Single
    
    On Error GoTo ERRORHANDLER
    Application.ScreenUpdating = False
    
    ' "alte" Bilder löschen
    ActiveSheet.Pictures.Delete
    
    ' "alte" Bildnamen löschen
    Range("A:A").ClearContents
    
    ' Bildhöhe <<<--- Gewünschte Höhe der Bilder - Anpassen!!!
    picHeight = 45
    
    ' Startzeile <<<--- Anpassen!!!
    lRow = 1
    
    ' Pfad <<<--- Anpassen
    strPath = "C:\Dokumente und Einstellungen\Admin\Eigene Dateien\Eigene Bilder\" ' <-- Pfad zu den Bildern!
    
    Set fSearch = Application.FileSearch
    
    With fSearch
        .NewSearch
        .LookIn = strPath
        .SearchSubFolders = True '<<<<Unterordner durchsuchen True/False - Anpassen!!!
        .FileType = msoFileTypeAllFiles
        .Filename = "*.jpg" '<<<<Dateiendung !!!
        
        
        If .Execute() > 0 Then
            
            'gefundene Dateien durchlaufen
            For iCnt = 1 To .FoundFiles.Count
                'Bild einfügen
                Set pic = ActiveSheet.Pictures.Insert(.FoundFiles(iCnt))
                'Größe anpassen und ausrichten
                With pic.ShapeRange
                    .LockAspectRatio = msoTrue
                    .Height = picHeight
                    .Left = Cells(lRow, 1).Left
                    .Top = Cells(lRow, 1).Top
                End With
                
                Cells(lRow, 1).RowHeight = picHeight
                
                ' Bildname mit Pfad
                Cells(lRow + 1, 1) = .FoundFiles(iCnt)
                ' oder nur Bildname
                'Cells(lRow + 1, 1) = Right(.FoundFiles(iCnt), InStr(1, StrReverse(.FoundFiles(iCnt)), "\") - 1)
                
                lRow = lRow + 2
                
                Set pic = Nothing
                
            Next
            
        End If
        
    End With
    
    Set fSearch = Nothing
    
    ERRORHANDLER:
    Application.ScreenUpdating = True
End Sub





Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: Bilder in Excel einfügen - Stapelverarbeitung?
08.08.2005 23:40:45
Alpers
Hallo Sepp,
das hat mir wirklich den Tag gerettet. Es klappt fantastisch.
Ich sah mich schon dabei, 700 Bilder einzeln einfügen.
Nochmals vielen Dank! Die Hilfe fand ich hier wirklich prima.
Sascha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige