Seite 1 von 1
gelöst: Alle Dateien eines Ordners per Makro einlesen
Verfasst: So, 04.05.2008 18:06
von erikafuchs
Hallo zusammen,
ich brauche mal wieder Hilfe:
Ich möchte per Makro aus allen CalcDateien in einem Ordner jeweils ein Blatt in eine neue Tabelle einfügen. Die Dateien haben alle Namen der Form "Rechentrainer_Vorname_Nachname.odt" das können zwischen 20 und 30 Dateien sein. Seht ihr eine Möglichkeit alle Dateien einzulesen ohne die einzelnen Namen und Vornamen vorher einzugeben?
Grüße von
Pit
Re: Alle Dateien eines Ordners per Makro einlesen
Verfasst: So, 04.05.2008 21:56
von turtle47
Hallo Tante Erika

,
schau dir mal diesen
Beitrag an.
In der dort hinterlegten Datei findest Du einen Code der alle Dateien in einem Ordner, in diesem Fall von Writer, der Reihe nach öffnet, eine Aktion durchführt, und das Dokument wieder schließt. Ich denke das dieses schon mal ein guter Ansatz für Dein Vorhaben ist.
Schöne Grüsse.
Jürgen
Re: Alle Dateien eines Ordners per Makro einlesen
Verfasst: So, 04.05.2008 23:04
von erikafuchs
Lieber Jürgen,
vielen Dank, das sieht doch ganz gut aus! Da werde ich mich dann mal durcharbeiten.
So long
Pit
Re: Alle Dateien eines Ordners per Makro einlesen
Verfasst: Mo, 05.05.2008 11:08
von komma4
wenn ich mal anmerken darf:
in der Bibliothek
TOOLS findet sich die Funktion
READDIRECTORIES(), welche genutzt werden kann. Mit dem folgenden Aufruf werden alle Dateinamen ab dem gegebenen Pfad in einem Array zurück geliefert:
Code: Alles auswählen
' Funktion aus Tools, liefert array von URLs ab dem Basisverzeichnis
aDateien = ReadDirectories( "d:\" , TRUE , FALSE , FALSE )
HTH
Re: Alle Dateien eines Ordners per Makro einlesen
Verfasst: Mo, 05.05.2008 12:14
von erikafuchs
Lieber Wilfried,
man lernt immer dazu - Vielen Dank! Mit den eingebauten Makros habe ich noch nie gearbeitet - das sieht aber doch richtig gut aus! Kannst du mir auch noch einen Tip geben, wie ich die Anzahl der Dateien berechne damit ich eine Schleife konstuieren kann?
Grüße
Pit
Re: Alle Dateien eines Ordners per Makro einlesen
Verfasst: Mo, 05.05.2008 12:20
von komma4
aDateien ist das Array mit den Dateinamen.
Mit
uBound( aDateien ) erhälst Du den oberen Index des Arrays, also:
Code: Alles auswählen
If uBound( aDateien ) > -1 then
Anzahl = uBound( aDateien ) + 1
print "Anzahl gefundener Dateien: " & Anzahl
for i = lBound( aDateien ) to uBound( aDateien )
print "bearbeite Datei " & aDateien( i )
' ...
next i
End If
Hilft das?
Re: Alle Dateien eines Ordners per Makro einlesen
Verfasst: Di, 06.05.2008 16:27
von erikafuchs
Lieber Winfried,
perfekt - vielen Dank!
von Pit
Re: gelöst: Alle Dateien eines Ordners per Makro einlesen
Verfasst: Di, 06.05.2008 16:34
von erikafuchs
Lieber Winfried,
eine Frage hätte ich noch: Um auf die Funktion in den Tools zugreifen zu müssen, muss ich den Tools Ordner einmal aufmachen - das geht doch sicher auch einfacher?
Noch´n Dank
Pit
Re: gelöst: Alle Dateien eines Ordners per Makro einlesen
Verfasst: Di, 06.05.2008 17:06
von komma4
Ja: Bibliotheken, deren Funktionen genutzt werden sollen, müssen geladen werden.
Code: Alles auswählen
If _
( Not GlobalScope.BasicLibraries.isLibraryLoaded( "Tools" ) ) _
Then
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
End If