Seite 1 von 1

Dateien aus Ordner auslesen - Pfad aus Zelle

Verfasst: Mi, 20.03.2024 14:58
von Manu1981
Hallo,

ich habe ein funktionierendes Makro welches ich immer wieder mal benutze um Dateien aus einem Verzeichnis auszulesen.

Code: Alles auswählen

Sub Dateien_auflisten
	dim sPfad as string
	dim oSheet as Object
	dim iSp as integer, iZe as Long
	
	oSheet = thisComponent.sheets.getByName("Auflistung")
	iSp = 6 : iZe = 3  'Startzele der Auflistung G4
	sPfad = ConvertToUrL("C:\Users\Manu\Desktop\TEST1\")
	
	nextFile = dir(sPfad, 0)  'die erste Datei
	Do while nextFile <> ""
		oSheet.getCellByPosition(iSp, iZe).string = nextFile
		iZe = iZe + 1
		nextFile = Dir
	loop
	
End Sub
Da jedoch der Pfad variabel ist muss ich bisher jedes Mal das Makro editieren. Diesen recht umständlichen Schritt würde ich mir gerne in Zukunft sparen indem ich einfach den Pfad (z.B. "C:\....\....\") in Zelle I33 kopiere....
Da ich mich nicht so gut auskenne nun meine Frage: Wie kann ich das Makro dahingehend abändern, dass es den Pfad der auszulesenden Dateien aus Zelle I33 ausliest?

VlG

Manu

Re: Dateien aus Ordner auslesen - Pfad aus Zelle

Verfasst: Mi, 20.03.2024 16:34
von Karolus
Hallo

Das ist auch furchtbar schwer:

Code: Alles auswählen

sPfad = ConvertToUrL( oSheet.getCellRangeByName("I33").String )

Re: Dateien aus Ordner auslesen - Pfad aus Zelle

Verfasst: Mi, 20.03.2024 17:08
von Karolus
Und das nochmal in python:

Code: Alles auswählen

from pathlib import Path

def list_folder_content(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sheet = doc.Sheets.Auflistung
    folder = Path(sheet['I33'].String)
    filenames = [(f"{file_path.name}",) for file_path in folder.glob("*.*")]
    sheet[ 3:3+len(filenames), 6 ].DataArray = filenames

Re: Dateien aus Ordner auslesen - Pfad aus Zelle

Verfasst: Mi, 20.03.2024 19:52
von Manu1981
Vielen Dank! Genau das habe ich gesucht! :)
VlG Manu