Office: (Office 2013) Problem bei einer Array Erstellung

Helfe beim Thema Problem bei einer Array Erstellung in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe mal eine Frage zu Arrays. Mein Ziel ist es ein eindimensionales Array, also eine Liste, mit verschiedenen Dateipfaden zu... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Tauchmann, 13. März 2016.

  1. Tauchmann Erfahrener User

    Problem bei einer Array Erstellung


    Hallo zusammen,

    ich habe mal eine Frage zu Arrays.
    Mein Ziel ist es ein eindimensionales Array, also eine Liste, mit verschiedenen Dateipfaden zu befüllen, damit dieses Array durch ein anderes Makro weiterverarbeitet werden kann.

    Was das Makro macht bzw machen soll:

    1. Bestimmen der xlsb Dateien in einem bestimmten Ordner mit Unterordnern
    2. Diesen ermittelten Count dem Array mit ReDim zuweisen, damit die Obergrenze festgelegt wird.
    3. Befüllen der des Arrays mit Dateipfaden.

    Mein Problem ist das der Array einfach nicht funktionieren will und immer die Fehlermeldung „Index außerhalb des gültigen Bereiches“ erscheint (die Problemstelle habe ich mal Fett markiert).

    Habt Ihr eine Idee was da schief läuft?

    SG
    Tauchmann

    Code:
    Public strFilePathArray() As String
     
    Public Function RelevantFilesPathesOrCount()  
        Dim strFolderPath As String
        Dim lngFileCount As Long
        Dim lngDummy As Long
        Dim i As Long
     
        strFolderPath = "C:\Test"
       
        lngFileCount = 0
        lngFileCount = GoThroughSubFolder(strFolderPath, lngFileCount, "Count")
        lngDummy = GoThroughSubFolder(strFolderPath, lngFileCount, "Array")
       
        lngDummy = UBound(strFilePathArray)
        Erase strFilePathArray
    End Function
     
    Public Function GoThroughSubFolder(ByVal strFolderPath As String, lngFileCount As Long, strWhat As String) As Long
        Dim objFSO As Object
        Dim objFolder As Object
        Dim objSubFolder As Object
        Dim objFile As Object
        Dim i As Long
       
        Erase strFilePathArray
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set objFolder = objFSO.getfolder(strFolderPath)
       
        Select Case strWhat
            Case Is = "Array"
                ReDim strFilePathArray(lngFileCount)
        End Select
       
        For Each objSubFolder In objFolder.subfolders
    'Alle Dateien durchlaufen
            For Each objFile In objSubFolder.Files
                If LCase(objFSO.getextensionname(objFile)) = "xlsb" Then
                    Select Case strWhat
                        Case Is = "Count"
                            lngFileCount = lngFileCount + 1
                        Case Is = "Array"
                            For i = 1 To lngFileCount
                                [B]strFilePathArray(i) = objFile.Path[/B]
                            Next i
                    End Select
                End If
            Next objFile
           
    'Alle Unterverzeichnisse durchlaufen (rekursiv)
        Call GoThroughSubFolder(objSubFolder.Path, lngFileCount, strWhat)
        Next objSubFolder
       
        GoThroughSubFolder = lngFileCount
        Erase strFilePathArray
        Set objFSO = Nothing
        Set objFile = Nothing
        Set objFolder = Nothing
        Set objSubFolder = Nothing
    End Function
    
     
    Zuletzt bearbeitet: 13. März 2016
    Tauchmann, 13. März 2016
    #1
  2. Tauchmann Erfahrener User
    Hallo,

    ich glaube ich habe vielleicht das Problem gefunden.
    Muss noch rumprobieren.

    SG
    Tauchmann
     
    Tauchmann, 13. März 2016
    #2
  3. Tauchmann Erfahrener User
    Ohhhhh man , da habe ich mir selbst ein ziemlich großes OsterEI gelegt.
    Naja, man sollte nicht spät Abends programieren :)
    Habe das Problem gefunden.

    SG
    Tauchmann
     
    Tauchmann, 13. März 2016
    #3
  4. Beverly
    Beverly Erfahrener User

    Problem bei einer Array Erstellung

    Hi,

    da du deinen korrigierten Code offensichtlich geheim halten möchstest Problem bei einer Array Erstellung :rolleyes:;), hier mal meine Lösung, falls andere User ein ähnliches Vorhaben realisieren möchten und nach einer Lösung suchen:

    Code:
    Option Explicit
    Dim arrMappen()
    Dim lngZaehler As Long
    
    Sub Kopieren()
       OrdnerAuswahl "I:\Dokumente\"
       ' alle gefundenen Arbeitsmappen mit Pfad ausgeben
       Range("A1").Resize(UBound(arrMappen()) + 1, 1) = Application.Transpose(arrMappen())
    End Sub
    
    Sub OrdnerAuswahl(varSuchordner)
       Dim fso As Object
       Dim Ordner
       Dim UnterOrdner
       Dim strMappe As String
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set Ordner = fso.getfolder(varSuchordner)
       Application.ScreenUpdating = False
       For Each UnterOrdner In Ordner.subfolders
          ' 1. Mappe des Unterordners auf die Variable schreiben
          ' Variable ist leer wenn im Unterordner keine Arbeitsmappe vorhanden
          strMappe = Dir(UnterOrdner & "\*.xlsb")
          ' Schleife über alle Arbeitsmappen des Unterordners
          Do While strMappe <> ""
            ReDim Preserve arrMappen(0 To lngZaehler)
            arrMappen(lngZaehler) = UnterOrdner & "\" & strMappe
            lngZaehler = lngZaehler + 1
            strMappe = Dir
          Loop
          OrdnerAuswahl UnterOrdner
       Next
       Application.ScreenUpdating = True
       Set fso = Nothing
       Set Ordner = Nothing
    End Sub
    
    
    
    
    Bis später,
    Karin
     
    Beverly, 13. März 2016
    #4
Thema:

Problem bei einer Array Erstellung

Die Seite wird geladen...
  1. Problem bei einer Array Erstellung - Similar Threads - Problem Array Erstellung

  2. Problem beim Etikettendruck

    in Microsoft Access Hilfe
    Problem beim Etikettendruck: In einem Formular wählt man einen Kunden aus, beim Klicken auf Druck wird eine Temp Tabelle erstellt. Abhängig von der Auswahl wird die Adresse im gewählten Feld im Report eingetragen. Wenn die...
  3. PDF-Problem bei outlook

    in Microsoft Outlook Hilfe
    PDF-Problem bei outlook: aus dem angehängten pdf Dokument schredderte Microsoft dies zusammen (Bild als Anlage). Ist das normal bei MS?
  4. Problem mit Formel bzw. Formatierung

    in Microsoft Excel Hilfe
    Problem mit Formel bzw. Formatierung: Hallo, ich musste von Office 2021 auf Office 365 umsteigen. Leider habe ich ein Problem mit einer Formel, die vorher funktionierte und nun im neuen Office365 mit Fehler "Wert" ausgegeben wird....
  5. Problem mit einer Word-Datei (Word stürzt ab)

    in Microsoft Word Hilfe
    Problem mit einer Word-Datei (Word stürzt ab): Hallo, bei einem Bekannten stürzt MS Word nach dem Öffnen einer Datei ab. Problembeschreibung: Office-Word 2016 (leider) und ein alter PC mit Windows 10 Datei kann geöffnet werden und dann...
  6. Outlook Problem

    in Microsoft Outlook Hilfe
    Outlook Problem: Hallo zusammen, ich brauche Hilfe bei folgendem Problem. Ich bekomme pro Woche ca. 44 Mails vom immer gleichen Absender, no-reply@deutschepost.de mit immer dem gleichen PDF-Anhang. Die...
  7. Problem mit Public array

    in Microsoft Excel Hilfe
    Problem mit Public array: Hallo Forum, ich habe das Problem mit der deklaration eines globalen Arrays. Leider bin ich im Forum nicht direkt fündig gewurden. Ich möchte ein Array global definieren, welches in einer...
  8. Schleife für Array Problem mit Textbox-Bezeichnung

    in Microsoft Excel Hilfe
    Schleife für Array Problem mit Textbox-Bezeichnung: Hallo miteinander, Heute ist mein Problem von geringerer Natur. Dank des Forums bin ich in den letzten Wochen mit meinem kleinen Projekt gut vorangekommen. Jetzt würde ich aber doch gerne noch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden