von Karolus » Fr, 02.03.2007 11:16
			
			
			Hallo Zahnerer
Kopier mal folgendes nach:
-->Extras-->Makros-->Makros verwalten-->OOo-basic
'meine Makros'--Standard--"neues Modul"[1]
[1]erstellen über Schaltfläche 'neu
Code: Alles auswählen
REM  *****  BASIC  *****
rem *Überträgt die Verzeichnisstruktur ab einem einzugebenden
rem *Oberverzeichniss in ein Tabellendokument 
rem * Zahnerer 02-03-07 --Karo--
Sub Verzeichnisstruktur
   dim sPfad as string
   dim oSheet as Object
   dim iSp as integer, iZe as Long
   dim neupfad as string
   dim upfad as string
   
   odoc = thisComponent
   oSheet = thisComponent.sheets(0)
   iSp = 0 : iZe = 0  'Startzelle der Auflistung A1
   sPfad = inputbox ("Bitte gib einen Verzeichnisspfad ein: ","Lieber Benutzer")
   sPfad = ConvertToUrl(sPfad)
   dv = 16 'für Verzeichnisse
   nextFile = dir(sPfad, dv)  'das erste Verzeichniss
   Do while nextFile <> "" 
   if nextfile = "." or nextfile = ".." or left(nextfile,1) = "." then
   		nextfile = Dir
   		else
   		'für die erste Verzeichnissebene werden Tabellenblätter
   		'mit den Verzeichnissnamen erstellt
   		oDoc.Sheets.CopyByName("Tabelle1",nextfile ,tindex + 1)
   		tindex = tindex + 1
      	nextFile = Dir
      end if
   loop
   dv = 0  'für Dateien
   nextFile = dir(sPfad, dv)  'die erste Datei
   Do while nextFile <> "" 
   		if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   			nextfile = Dir
   		else
'Die Dateien der obersten Verzeichnissebene werden in Tabelle1 gelistet
			oSheet.getCellByPosition(Sindex, iZe).string = nextFile
      		iZe = iZe + 1
      		nextFile = Dir
      	end if
   loop
   
tabzahl = odoc.sheets.count
for t = 1 to tabzahl -1
osheet = odoc.sheets(t)
oSp = 1 : oZe = 0
tabname = odoc.sheets(t).name
neupfad = spfad & tabname & "/"
dv = 16  'Verzeichnisse
nextFile = dir(neuPfad , dv)  'das erste Verzeichniss
   Do while nextFile <> "" 
   		if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   			nextfile = Dir
   		else
'Die 2. Verzeichnissebene wird in Kopfzeile der einzelnen Tabellenblätter geschrieben
			oSheet.getCellByPosition(oSp, oZe).string = nextFile
			oSp = oSp + 1
      		nextFile = Dir
      end if
      scount = oSp
   loop
dv = 0 'Dateien
oSp = 0 : oZe = 0
nextFile = dir(neuPfad , dv)  'die erste Datei
   Do while nextFile <> "" 
   		if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   			nextfile = Dir
   		else
'Die Dateien der 1. Verzeichnissebene werden in Spalte A der einzelnen Tabellenblätter geschrieben
			oSheet.getCellByPosition(oSp, oZe).string = nextFile
			oZe = oZe + 1
      		nextFile = Dir
      end if
   loop
	for sp = 1 to scount - 1
		oZe = 1
		kopf = oSheet.getCellByPosition(Sp, 0).string
		upfad = neupfad & kopf & "/"
		dv = 0 'Dateien
		nextfile = dir(upfad ,dv)
   		Do while nextFile <> "" 
   			if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   				nextfile = Dir
   			else
'die Dateien der zweiten Ebene werden in die zugehörigen Spalten geschrieben
   				oSheet.getCellByPosition(Sp, oZe).string = nextFile
				oZe = oZe + 1
				nextFile = Dir
			end if
		loop
	next sp
next t
end sub
 
Starte das Makro aus einem neuem Tabellendokument.
Es bildet die Verzeichnisstruktur nicht so ab wie von dir gewünscht, ist aber vermtl. "allgemeintauglicher" - (und so wars auch leichter zu schreiben  

  )
Gruß karo
 
			
			
							Hallo Zahnerer
Kopier mal folgendes nach:
-->Extras-->Makros-->Makros verwalten-->OOo-basic
'meine Makros'--Standard--"neues Modul"[1]
[1]erstellen über Schaltfläche 'neu
[code]REM  *****  BASIC  *****
rem *Überträgt die Verzeichnisstruktur ab einem einzugebenden
rem *Oberverzeichniss in ein Tabellendokument 
rem * Zahnerer 02-03-07 --Karo--
Sub Verzeichnisstruktur
   dim sPfad as string
   dim oSheet as Object
   dim iSp as integer, iZe as Long
   dim neupfad as string
   dim upfad as string
   
   odoc = thisComponent
   oSheet = thisComponent.sheets(0)
   iSp = 0 : iZe = 0  'Startzelle der Auflistung A1
   sPfad = inputbox ("Bitte gib einen Verzeichnisspfad ein: ","Lieber Benutzer")
   sPfad = ConvertToUrl(sPfad)
   dv = 16 'für Verzeichnisse
   nextFile = dir(sPfad, dv)  'das erste Verzeichniss
   Do while nextFile <> "" 
   if nextfile = "." or nextfile = ".." or left(nextfile,1) = "." then
   		nextfile = Dir
   		else
   		'für die erste Verzeichnissebene werden Tabellenblätter
   		'mit den Verzeichnissnamen erstellt
   		oDoc.Sheets.CopyByName("Tabelle1",nextfile ,tindex + 1)
   		tindex = tindex + 1
      	nextFile = Dir
      end if
   loop
   dv = 0  'für Dateien
   nextFile = dir(sPfad, dv)  'die erste Datei
   Do while nextFile <> "" 
   		if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   			nextfile = Dir
   		else
'Die Dateien der obersten Verzeichnissebene werden in Tabelle1 gelistet
			oSheet.getCellByPosition(Sindex, iZe).string = nextFile
      		iZe = iZe + 1
      		nextFile = Dir
      	end if
   loop
   
tabzahl = odoc.sheets.count
for t = 1 to tabzahl -1
osheet = odoc.sheets(t)
oSp = 1 : oZe = 0
tabname = odoc.sheets(t).name
neupfad = spfad & tabname & "/"
dv = 16  'Verzeichnisse
nextFile = dir(neuPfad , dv)  'das erste Verzeichniss
   Do while nextFile <> "" 
   		if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   			nextfile = Dir
   		else
'Die 2. Verzeichnissebene wird in Kopfzeile der einzelnen Tabellenblätter geschrieben
			oSheet.getCellByPosition(oSp, oZe).string = nextFile
			oSp = oSp + 1
      		nextFile = Dir
      end if
      scount = oSp
   loop
dv = 0 'Dateien
oSp = 0 : oZe = 0
nextFile = dir(neuPfad , dv)  'die erste Datei
   Do while nextFile <> "" 
   		if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   			nextfile = Dir
   		else
'Die Dateien der 1. Verzeichnissebene werden in Spalte A der einzelnen Tabellenblätter geschrieben
			oSheet.getCellByPosition(oSp, oZe).string = nextFile
			oZe = oZe + 1
      		nextFile = Dir
      end if
   loop
	for sp = 1 to scount - 1
		oZe = 1
		kopf = oSheet.getCellByPosition(Sp, 0).string
		upfad = neupfad & kopf & "/"
		dv = 0 'Dateien
		nextfile = dir(upfad ,dv)
   		Do while nextFile <> "" 
   			if nextfile = "." or nextfile = ".." or left(nextfile,1) ="."  then
   				nextfile = Dir
   			else
'die Dateien der zweiten Ebene werden in die zugehörigen Spalten geschrieben
   				oSheet.getCellByPosition(Sp, oZe).string = nextFile
				oZe = oZe + 1
				nextFile = Dir
			end if
		loop
	next sp
next t
end sub[/code]
Starte das Makro aus einem neuem Tabellendokument.
Es bildet die Verzeichnisstruktur nicht so ab wie von dir gewünscht, ist aber vermtl. "allgemeintauglicher" - (und so wars auch leichter zu schreiben  :D  )
Gruß karo