Thema Datum  Von Nutzer Rating
Antwort
Rot Makro auf alle Files in Dir anwenden
01.12.2017 12:41:42 MaxR
NotSolved
01.12.2017 15:56:28 Gast41629
NotSolved

Ansicht des Beitrags:
Von:
MaxR
Datum:
01.12.2017 12:41:42
Views:
878
Rating: Antwort:
  Ja
Thema:
Makro auf alle Files in Dir anwenden

Hallo Zusammen,

ich habe vor 2 Wochen angefangen mir VBA zu Gemüte zu führen und sitze inzwischen nach 3 Tage wildem Forendurchsuchens endgültig auf dem Trockenen. Ich hoffe, ihr könnt mir helfen und mich zurück ins Meer schieben.

Folgende Situation:

Ich  habe einen Ordner, in dem eine große Zahl von .dat-Files sind, in denen Messwerte enthalten sind (Dreispaltig, XYY mit jeweils einer Headerzeile und dann eben den Werten).
Die Messwerte in so einer Datei werden von mir verarbeitet, sagen wir der einfachheithalber, mit 2 multpliziert und das Ergebnis in Spalte 4&5 kopiert. Diese Datei wird dann unter anderem Name gespeichert.
Soweit ist alles gut, ich hab das Makro (Nennen wir es MakroX) und kann einzelne Dateien per Knopfdruck bearbeiten, nachdem ich sie geöffnet habe.

Jetzt möchte ich allerdings mit einem Knopfdruck ALLE Dateien in einem abgefragten Ordner bearbeiten und als "processed-OriginalFilename.dat" speichern und komme hier absolut nicht weiter.

Mein Plan wäre also eine leere Excelmappe zu öffnen und mein "Mastermakro" zu starten, dass mir dann den folgenden Plan ermöglicht

  1. Dialog öffnen, mit dem der Ordner ausgesucht wird, dessen Dateien ich bearbeiten will    -   Check, habe ich hinbekommen.
  2. Alle Dateinamen des Ordners in ein Array schreiben - Uaaaaaaah, Hilfe!
  3. Schleife für alle Einträge im Array, die MakroX auf den i-ten Eintrag anwendet und i durchiteriert  - Könnte ich mir vorstellen, dass ich alleine hinbekomme, aber soweit war ich leider noch nicht (irgendwas wie: Open Datei-i, call MakroX, close Datei i, i=i+1)
  4. Endlich wieder Gut fühlen, weil ich mir stundenlanges Datenhinundherschieben gespart habe ;)

Könntet ihr mir bitte bei Schritt 2-4 behilflich sein oder gerne auch andere Vorgehensweisen vorschlagen?

Mein (wild aus dem Netz zusammenkopierter) Code sieht momentan so aus:


Option Explicit

Sub ordner_suchen()
    Dim ordner As String
    Dim dat
    
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim ws As Worksheet
    
    '----------------------------------------------------------------------
    ' Ordner Auswählen von dem Die Liste gemacht wird
    
    Set dat = Application.FileDialog(msoFileDialogFolderPicker)
    With dat
        .Title = "Netzwerk...."
        .InitialFileName = "C:\Woauchimmer" 'oder was auch immer
        If .Show = -1 Then ordner = .SelectedItems(1) 'Zur weiteren verwendung
     '   MsgBox ordner
    End With
    
    '-----------------------------------------------------------------------
    ' Dateien im Ordner zählen damit ich nachher weiß, wie lange i durchiteriert wird
    
    
    Dim strDir As String
    Dim fso As Object
    Dim objFiles As Object
    Dim obj As Object
    Dim NoOfFiles As Long

    Set fso = CreateObject("Scripting.FileSystemObject")

    Set objFiles = fso.GetFolder(ordner).Files

    NoOfFiles = objFiles.Count

    MsgBox "Number of Files equals " & NoOfFiles    'Total number of files ' Zur Kontrolle
    Set objFiles = Nothing
    Set fso = Nothing
    Set obj = Nothing
' Datei in Array schreiben
' MakroX auf einzelne Dateien anwenden
' BeHappy
End Sub
   


Vielen Dank,

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Makro auf alle Files in Dir anwenden
01.12.2017 12:41:42 MaxR
NotSolved
01.12.2017 15:56:28 Gast41629
NotSolved