Basic "Speichern unter" Dialog

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

Moderator: Moderatoren

MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Basic "Speichern unter" Dialog

Beitrag von MHage »

Hallo zusammen,

ich hoffe hier auf ein wenig Hilfe bei meinem Vorhaben. Ich komme nicht so richtig weiter...

Ich Sammel mit einem Makro verschiedene Werte aus einer Calc Tabelle, die ich in Variablen schreibe um sie zu "Formatieren". Das ist aber nicht so wichtig.
Diese Inhalte schreibe ich anschließend in eine in eine Textdatei.
Um den Speicherort flexibel wählen zu können, würde ich gern den "Speichern unter" Dialog verwenden.
Nach langem Suchen, habe ich einige Code-Fetzen gefunden, die mir aber nicht wirklich weiter helfen.

Das habe ich aus dem Netz gefischt und ein wenig abgewandelt:

Code: Alles auswählen

REM  *****  BASIC  *****
Sub SpeichernUnter()

   Doc = ThisComponent

   'Starting FilePicker
   sFilePickerArgs = Array(com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION)
   oFilePicker = CreateUnoService( "com.sun.star.ui.dialogs.FilePicker" )
   With oFilePicker
      .Initialize ( sFilePickerArgs() )
      .SetDefaultName ("test")
      .AppendFilter( "Textdatei (.txt)", "*.txt" )     
      .SetCurrentFilter( "Textdatei (.txt)" )
      .SetValue(com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_AUTOEXTENSION, 0, true)
   End With
   
    'Save Document
   If oFilePicker.execute() Then
      sFiles = oFilePicker.getFiles()
      sFileURL = sFiles(0)
      Dim oMediaDescriptor(0) as new com.sun.star.beans.PropertyValue
      oMediaDescriptor(0).Name = "FilterName"
      oMediaDescriptor(0).Value = oFilePicker.CurrentFilter 
      Doc.storeToURL( sFileURL, oMediaDescriptor() )
      MsgBox "Datei als " & oFilePicker.CurrentFilter & " gespeichert"
   Else
      MsgBox "Speicherung abgebrochen"
   End If
   
End Sub
Vorher habe ich mit folgendem gespeichert:

Code: Alles auswählen

1 = Freefile              				
Open Filename For Output As #1        
Print #1, "Hallo Welt"  
Close #1           

Wie kann ich dem "Speichern unter" Dialog sagen, er soll Hallo Welt in eine Text Datei schreiben?
Dies ist von mir natürlich sehr vereinfacht dargestellt... Die zu speichernden Infomationen sind mehrere 100 Zeilen...

Gruß
Matze
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Basic "Speichern unter" Dialog

Beitrag von komma4 »

MHage hat geschrieben:Wie kann ich dem "Speichern unter" Dialog sagen, er soll Hallo Welt in eine Text Datei schreiben?
Dem Dialog sagst Du das gar nicht.

Erstelle erst mal ein neues Writer-Dokument, schreibe Deine "mehrere 100" Variablen rein - und rufe dann das "Speichern unter"-Makro auf.


Hilft das weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
MHage
**
Beiträge: 49
Registriert: Fr, 17.12.2010 19:28

Re: Basic "Speichern unter" Dialog

Beitrag von MHage »

Hallo,

die Aufgabe ist aber, das ich Inhalte diverser Variablen aneinander gereiht in die Txt Datei schreiben muss. Direkt aus dem Makro heraus...

Gruß
Matze
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Basic "Speichern unter" Dialog

Beitrag von komma4 »

Ablaufplan:


* erzeuge ein neues Writer Dokument
* erzeuge einen TextCursor
* schreibe die Variablen in NeuWriter mittels TextCursor
* rufe SichernUnter-Dialog auf


Für jeden Schritt findest Du Beispiele (hier im Forum, bei meinen Makros).
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten