Verzeichniss inhalt in ein Dokument schreiben

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
teakay
***
Beiträge: 82
Registriert: Mi, 28.09.2005 08:47
Wohnort: Somewhere over the Rainbow.

Verzeichniss inhalt in ein Dokument schreiben

Beitrag von teakay »

Ich möchte gern den inhalt eines Verzeichnis in ein Writer Dokument Schreiben lassen und dieses Dokument anzeigen lassen.
Ich habe dazu im Programmier Handbuch folgenden Code gefunden.

Code: Alles auswählen

Sub ShowFiles
	Dim NextFile As String
	Dim AllFiles As String
		AllFiles = ""
		NextFile = Dir("C:\xyz", 0)
	While NextFile <> ""
		AllFiles = AllFiles & Chr(13) & NextFile
		NextFile = Dir
	Wend
		MsgBox AllFiles
End Sub
Der Code funzt auch prächtig aber wie kann ich jetzt die Ausgabe anstatt auf eine Messagbox in eine Datei umleiten und ist es möglich die angezeigten Dateien in dem Dokument per Hyperlink mit den Dateien im Ordner zu verknüpfen?
Meine Sys-Config ist ... zuviel um sie hier aufzulisten. Firmen Computer, Private Computer und etliche VMs
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Hi,

Du mußt den Text nur statt in den String gleich in ein Dokument schreiben.
Bei eine geöffneten Dokument geht es mit dem Cursor und einem anschließenden Paragraph_break. Danach muß der neue Text selektiert und mit dem Hyperlink versehen werden.

Code: Alles auswählen

Sub ShowFiles
   doc=thiscomponent
   oText = Doc.getText()
   oCursor = oText.createTextCursor()
   oCursor.gotoEnd( False ) 
   Dim NextFile As String
   Dim AllFiles As String
      AllFiles = ""
      NextFile = Dir("D:\", 0)
   While NextFile <> ""
     oCursor.gotoEnd(false)
     oText.insertString( oCursor,Nextfile, False )
     oText.insertControlCharacter( oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
     oCursor.gotoStartofParagraph(true)
     oCursor.hyperlinkurl="file:///d:/"&Nextfile
     NextFile = Dir
   Wend
End Sub
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
Benutzeravatar
teakay
***
Beiträge: 82
Registriert: Mi, 28.09.2005 08:47
Wohnort: Somewhere over the Rainbow.

Beitrag von teakay »

Danke dir für den Tipp ich werde ihn bei nächster gelegenheit ausprobieren.
Meine Sys-Config ist ... zuviel um sie hier aufzulisten. Firmen Computer, Private Computer und etliche VMs
Benutzeravatar
teakay
***
Beiträge: 82
Registriert: Mi, 28.09.2005 08:47
Wohnort: Somewhere over the Rainbow.

Beitrag von teakay »

Das Makro funktioniert fast genauso wie ich es mir gewünscht habe.
Allerdings bringt es etwas mit der Reihenfolge bei der Verlinkung durcheinander. Ich versuche es mal an einem Beispiel zu verdeutlichen.

123.txt ------> 789.txt
456.txt ------> 123.txt
789.txt ------> 456.txt
Das Makro erstellt dir Verlinkung wie oben dargestellt und leider ist das nicht sinn der sache. Wie kann ich das Makro verändern, damit die richtige Datei verlinkt wird?
Meine Sys-Config ist ... zuviel um sie hier aufzulisten. Firmen Computer, Private Computer und etliche VMs
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Hi,

sorry für die späte Antwort.
Der Zeilenrutscher der Links war in der Schleife. So gehts richtig:

Code: Alles auswählen

  While NextFile <> ""
   oCursor.gotoEnd(false)
     oText.insertString( oCursor,Nextfile, False )
     oText.insertControlCharacter( oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
     oCursor.gotoPreviousParagraph(false)
     oCursor.gotoStartofParagraph(false)
     oCursor.gotoEndofParagraph(true)
     oCursor.hyperlinkurl="file:///d:/"&Nextfile
     NextFile = Dir
wend
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
Antworten