Seite 1 von 1
Verzeichniss inhalt in ein Dokument schreiben
Verfasst: Do, 13.10.2005 18:03
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?
Verfasst: Fr, 14.10.2005 16:54
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
Verfasst: Fr, 14.10.2005 23:23
von teakay
Danke dir für den Tipp ich werde ihn bei nächster gelegenheit ausprobieren.
Verfasst: Sa, 15.10.2005 10:55
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?
Verfasst: So, 23.10.2005 13:54
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