❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Ordnerverzeichnis in Calc einlesen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
franz10
Beiträge: 26
Registriert: Di 17. Mai 2011, 17:10

Ordnerverzeichnis in Calc einlesen

Beitrag von franz10 » Sa 8. Aug 2020, 20:56

Hallo,
kann ich Ordnerverzeichnisse auslesen und die Dateinamen in Calc einfügen?
Ich würde gerne eine Tabelle mit meiner mp3-Sammlung anlegen.
Franz

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von Wanderer » So 9. Aug 2020, 00:54

LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von Pit Zyclade » So 9. Aug 2020, 10:17

Interessante Quelle! Muß man wohl unter Makros einfügen.

Leider gibt es außer einem nebulösen Hinweis, dass z =0 zu setzen sei (wann? im Makro oder bei der Anwendung oder?), keine Anleitung für die Nutzung.
So ist es für mich (gut, ich bin kein Maßstab, alle anderen mögen klüger sein) nicht nutzbar, obwohl der Verfasser sich große Mühe für "alle" gegeben hat.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

Benutzeravatar
RPP63
Beiträge: 188
Registriert: Sa 21. Apr 2018, 09:33

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von RPP63 » So 9. Aug 2020, 11:03

Ich bin auch kein Maßstab, weil ich mit dem ähnlichen VBA (Excel) unterwegs bin.
Dennoch ein paar Anmerkungen:
Die Function gibt einen Integer zurück, also eine Zahl!
Heißt, sie zählt Dateien und listet sie nicht auf, wie vom TE gewünscht.
Wenn der Übergabeparameter z korrekt als Integer (oder auch Long) deklariert wäre, bräuchte man ihn nicht erst zu setzen, sondern ein "leerer" Integer ist ohnehin 0.
Unter VBA würde man diesen Parameter gar nicht erst übergeben (für was soll das gut sein?) , sondern innerhalb der Function dimensionieren.

Zum eigentlichen Thema:
Unter Windows (Excel) geht so etwas mit dem "Scripting.FileSystemObject"
Für LibreOffice habe ich folgendes gefunden:
viewtopic.php?t=16361

Gruß Ralf
Ein Feedback auf eine gegebene Lösung tut nicht weh und zeigt Querlesern, dass das Problem gelöst ist.

franz10
Beiträge: 26
Registriert: Di 17. Mai 2011, 17:10

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von franz10 » So 9. Aug 2020, 11:56

Besten Dank für die schnellen Antworten. Ich werde versuchen es richtig anzuwenden.
Nochmals Dankeschön.
Franz

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von Wanderer » So 9. Aug 2020, 12:39

Hallo Pit, hallo Ralf,

da ich nichts über die Vorkenntnisse des TE Franz weiss, habe ich erstmal nur den Link gesetzt. Er kann ja nachfragen.

Ich nutze für ähnlich gelagerte Fälle ein Mini-Script im jeweiligen Verzeichnis, das mir die Dateinamen in eine Text/CSV Datei schreibt und importiere diese dann nach Calc. Ist aber eben keine Lösung IN Office.

Das Marco bekommt 3 Parameter übergeben,
eine leere Liste, den Parameter z der die bisherige Anzahl von Elementen der Liste zählt und den Namen des Verzeichnisses.
Es lässt sich vom System die Liste der enthaltenen Dateinamen geben und durchläuft diese mit eine FOR-Schleife.
Dateinamen werden in die Übergebene Liste eingetragen und z erhöht.
Unterverzeichnisse werden per Rekursion (Selbstaufruf) gescannt.
Als Rückgabewert der Funktion dient der Endwert von z, also die Anzahl der Dateien, die eingetragen wurden.
"Nebenbei" wurde aber auch die übergebene Liste gefüllt und enthält jetzt z Dateinamen (Anhänger Funktionaler Sprachen sind in BASIC falsch, in Lisp würde man natürlich die Liste zurückgeben, aber "früher" waren komplexe Rückgabewerte nicht möglich)

Abgesehen vom OO-Service, der die Dateien liefert sollte das auch unter VBA gehen

Mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Helmut_S
* LO-Experte *
Beiträge: 757
Registriert: Di 9. Feb 2016, 19:27

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von Helmut_S » Mo 10. Aug 2020, 21:45

Hallo Franz10, ich habe etwas gegockelt und ein Makro in einem Thread aus dem Jahr 2007 gefunden. Verfasst hat das Makro LO-Guru und Autor einiger lesenswerter Bücher über LO, Toxitom.
Hier der Link zu der Seite:
http://de.openoffice.info/viewtopic.php?t=11212
Habe dir das Makro mit einem Kommentar zum leichteren Verständnis versehen. Den Pfad zu deinem Musikstücke-Ordner musst du natürlich anpassen. Hier zu deiner Bequemlichkeit der Basic Code:

Code: Alles auswählen

REM  *****  BASIC  *****
REM listet alle Dateien eines Verezeichnisses in einem 
REM Calc-Sheet auf

Sub Dateien_auflisten
	dim sPfad as string
	dim oSheet as Object
	dim iSp as integer, iZe as Long
	
	oSheet = thisComponent.sheets.getByName("Tabelle1")
	iSp = 0 : iZe = 4  'Startzele der Auflistung A5
	sPfad = ConvertToUrL("/home/helmut/Musik/*.mp3")'der Pfad zum gewünschten Ordner in Linux- oder Mac-Schreibweise
														 ' kann man auch in Windows Schreibweise eingeben, da die Funktion 
														 ' ConverToUrl() den Pfad nach dem verwendeten umwandelt (nicht getestet!)
														 ' für mp3 Dateien muss die Dateiendung entsprechend angepasst werden /*.mp3
	
	nextFile = dir(sPfad, 0)  'die erste Datei
	Do while nextFile <> ""
		oSheet.getCellByPosition(iSp, iZe).string = nextFile
		iZe = iZe + 1
		nextFile = Dir
	loop
	
End Sub
Für evtl. weitere Anpassungen hoffe ich, dass sich die kompetenteren User wie HeritzP, F3K oder andere melden.
Gruß Helmut
MX-Linux KDE + Linux-Mint Cinnamon

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von Pit Zyclade » Di 18. Aug 2020, 11:19

Das klappt zwar (entsprechend dem ursprünglichen Wunsch), aber windows-Nutzer würden da die diversen Optionen von dir bevorzugen.
Denn wenn man nur die Dateien erhält und die Unterverzeichnisse links liegen lassen muß, bin ich selbst nicht von der Nützlichkeit zu überzeugen.
Wünschenswert wäre entweder in calc oder in base die vollständige Listung.
In calc beispielsweise jedes Unterverzeichnis in eine weitere Spalte oder gar Tabelle, wobei Spalte vermutlich für ein nachfolgende Überführung nach base zweckmäßiger wäre, weil man dann nur eine Tabelle überführen muß.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

wolf_lupo
! Supporter - Spende !
Beiträge: 35
Registriert: Sa 19. Jan 2019, 16:04

Re: Ordnerverzeichnis in Calc einlesen

Beitrag von wolf_lupo » Fr 28. Aug 2020, 21:24

Habe das mit einer Ein-Zeilen-Batch-Datei in Windows(*.bat) gelöst.
Untenstehend 2 Versionen; kopiere diese in das gewünschte Verzeichnis und rufe die *bat auf;
jede dieser Bat generiert eine Textdatei, welche die Ordner-/Unterordner-Inhalte beinhaltet.
Per 'Copy & Paste' ins Calc oder Writer Dokument einfügen
Batch 1: dir /a / s /o:gn /b > "_druck.txt"
Batch 2: dir /a / s /o:gn > "_druck2.txt"

Kopiere die jeweilige Zeile per Texteditior in eine *.bat Datei


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten