Excel soll zählen, wieviele Bilder im Ordner sind

Bild

Betrifft: Excel soll zählen, wieviele Bilder im Ordner sind
von: Specker
Geschrieben am: 14.07.2015 21:59:10

Hallo
Ich bin recht neu unterwegs was Excel angeht. Grundsätzlich komme ich ganz gut zurecht,
jetzt allerdings gehts hier gerade nicht weiter.
Folgende Situation:
Ich habe eine ganz bestimmte Ordnerstruktur.
Im Hauptsverzeichnis befindet sich die .xlsx datei, die gerade zur Bearbeitung ansteht und zusätzlich gibt
es einen Unterordner namens "pics". Dort drin befinden sich .jpg files jeh nachdem mit dem Namen large.jpg, large2.jpg bis maximal large6.jpg.
Mein Ziel ist es, dass Excel quasi zählt, wieviele Bilder in dem "pics" odner liegen.
Diesen Wert (also 1 - 6) soll er mir ausspucken und in einer Zelle ausgeben.
Außerdem soll immer nur das 1. Bild direkt in der .xlsx angezeigt werden. Schätze, da reicht es dann aus, enfach auf /pics/large.jpg zu linken, weil
diese Datei in jedem Fall vorhanden ist.
Ich habe nur leider nicht entdecken können, wie man ein Bild einfügt mit einem ganz bestimmten Pfad.
Wäre echt super, wenn mir da jemand weiterhelfen könnte.

Bild

Betrifft: AW: Excel soll zählen, wieviele Bilder im Ordner sind
von: Sepp
Geschrieben am: 14.07.2015 22:28:04
Hallo Speck,
ein Beispiel.
https://www.herber.de/bbs/user/98823.xlsm

Gruß Sepp


Bild

Betrifft: AW: Excel soll zählen, wieviele Bilder im Ordner sind
von: Specker
Geschrieben am: 15.07.2015 00:59:59
Hi
Irgendwie gibt es immer eine Fehlermeldung, wenn ich die Datei öffne.
"Diese Arbeitsmappe hat ihr VBA Projekt, alle ActiveX-Steuerelemente und alle anderen programmierbaren Elemente verloren."
Vorher stand was mit Datei ist beschädigt oder so. Muss ich dafür erst was aktivieren oder dergleichen?

Bild

Betrifft: AW: Excel soll zählen, wieviele Bilder im Ordner sind
von: Specker
Geschrieben am: 15.07.2015 01:04:44
"Die VBA-Makros in dieser Arbeitsmappe sind beschädigt und wurden gelöscht. Die Makrobeschädigung ist wahrscheinlich in der aktuellen Datei vorhanden. Öffnen Sie eine Sicherundkopie dieser Datei, sofern vorhanden, um die Makros wiederhezustellen."

Bild

Betrifft: AW: Excel soll zählen, wieviele Bilder im Ordner sind
von: Sepp
Geschrieben am: 15.07.2015 18:44:30
Hallo Specker,
dann probieren wir es eben noch einmal.
https://www.herber.de/bbs/user/98844.xlsm

Gruß Sepp


Bild

Betrifft: AW: Excel soll zählen, wieviele Bilder im Ordner sind
von: Specker
Geschrieben am: 15.07.2015 20:42:26
Nope, wird leider genau die gleiche Fehlermeldung angezeigt.
Du kannst das Dokument ohne Fehler öffnen oder wie?
Wenn du kurz Zeit hast, könntest du mir ja auch beschreiben, was du da gemacht hast, vllt kann ich das ja dann reproduzieren und anpassen, falls nötig.

Bild

Betrifft: AW: Excel soll zählen, wieviele Bilder im Ordner sind
von: Sepp
Geschrieben am: 15.07.2015 21:05:16
Hallo Specker,
ein Image-Control in die entsprechende Tabelle einfügen (Image1) und folgenden Code in "DieseArbeitsmappe"

' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
  Call CountAndLink
End Sub


und diesen in ein allgemeines Modul.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit
Option Private Module

Sub CountAndLink()
  Dim strPath As String, strFile As String
  Dim lngCount As Long
  
  On Error Resume Next
  
  strPath = ThisWorkbook.Path & "\pics"
  
  lngCount = countFiles(strPath, "*.jpg")
  
  With Sheets("Tabelle1")
    .Cells(3, 2) = lngCount
    If lngCount > 0 Then
      strFile = strPath & "\" & Dir(strPath & "\*.jpg", vbNormal)
      .Image1.Picture = LoadPicture(strFile)
    End If
  End With
  
  On Error GoTo 0
End Sub


Private Function countFiles(ByVal Directory As String, Optional ByVal FileName As String = "", Optional ByVal SubFolders As Boolean = False) As Long
  Dim objFSO As Object, objFolder As Object, objFile As Object, objSubF As Object
  Dim lngCount As Long
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objFSO.GetFolder(Directory)
  
  If Len(FileName) Then
    For Each objFile In objFolder.Files
      If objFile.Name Like FileName Then lngCount = lngCount + 1
    Next
  Else
    lngCount = objFolder.Files.Count
  End If
  
  If SubFolders Then
    For Each objSubF In objFolder.SubFolders
      lngCount = lngCount + countFiles(objSubF.Path, FileName, SubFolders)
    Next
  End If
  
  countFiles = lngCount
  
  Set objSubF = Nothing
  Set objFile = Nothing
  Set objFolder = Nothing
  Set objFSO = Nothing
End Function


Gruß Sepp


Bild

Betrifft: AW: Excel soll zählen, wieviele Bilder im Ordner sind
von: Specker
Geschrieben am: 17.07.2015 01:46:19
Vielen Dank Sepp!!!
Jetzt geht alles perfekt. Problem war schlicht und ergreifend, dass ich VB noch nicht mit-installiert hatte...

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel soll zählen, wieviele Bilder im Ordner sind"