🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[Gelöst] Libreoffice Makro mkdir ind chdir

Alles zur Programmierung im LibreOffice.
Antworten
Mister Office
Beiträge: 34
Registriert: Sa 14. Dez 2013, 07:32

[Gelöst] Libreoffice Makro mkdir ind chdir

Beitrag von Mister Office » Sa 14. Dez 2013, 07:39

In der Hoffnung das du dich mit Libreoffice Calc auskennst, meine Frage: Kannst du mir helfen?, ich habe ein Problem mit MkDir und Chdir in Libreoffice Calc Makroprogrammiersprache.

1.Wie kann man den Ordner, den man im Makro, mit mkdir erstellt hat, an die Libreoffice Calc Tabellenkalkulation übergeben, damit im Menü von Libreoffice (Gui) der selbige Ordner unter Datei>>Speichern unter erscheint?

2.Oder anders gefragt, kann man aus einem Libreoffice Makro den Menübefehl (Dateidialog) Datei speichern unter manipulieren?

3.Oder anders gefragt, kann man aus einem Libreoffice Makro heraus, den unter Optionen>>Pfade>>Arbeitsverzeichnis (betreff Libre Office Calc also die Gui) manipulieren?

4. zu 1. bis 3. bitte keine msgbox'en

5. Also eine Alternative zu

Code: Alles auswählen

 Get Path Separator()
Solltest du meine Frage beantworten, währe ich dir Dankbar , wenn du mir Quelltext hier postes.
Zuletzt geändert von Mister Office am Sa 14. Dez 2013, 16:06, insgesamt 1-mal geändert.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Libreoffice Makro mkdir ind chdir

Beitrag von F3K Total » Sa 14. Dez 2013, 14:30

Etwa so?

Code: Alles auswählen

sub S_Set_Work_Directory
    oPS = createUnoService("com.sun.star.util.PathSettings")
    sNewWorkDirectory = "file:///C:/Users/..."
    with oPS
        .Work = sNewWorkDirectory
        .Work_writable = sNewWorkDirectory
   end with
end sub
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Mister Office
Beiträge: 34
Registriert: Sa 14. Dez 2013, 07:32

Re: Libreoffice Makro mkdir ind chdir

Beitrag von Mister Office » Sa 14. Dez 2013, 14:56

F3K Total
Ich habe deinen kompletten Quelltext ausprobiert. Aber funktioniert nicht.

Code: Alles auswählen

sNewWorkDirectory = "file:///C:/Users/..."
Den Code hatte ich angepasst, und meinen Ordnernamen eingefügt.

Jetzt habe ich nocheinmal eine Frage:
Wenn ich in Libre Office Calc ein Dokument geöffnet habe, wie kann ich das Dokument aus einem Makro heraus abspeichern?

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Libreoffice Makro mkdir ind chdir

Beitrag von F3K Total » Sa 14. Dez 2013, 15:07

Mister Office hat geschrieben: Aber funktioniert nicht.
Dann schau mal unter Extras/Optionen/LibreOffice/Pfade nach. Der letztbenutzte wird solange verwendet, bis du einen Neustart von LO machst.
Speichern:

Code: Alles auswählen

Sub s_Store_To
    sUrl = "file:///C:/Users/.../My_Spreadsheet.ods"
    Thiscomponent.storeToUrl(sUrl,array())
end sub
Speichern unter:

Code: Alles auswählen

Sub s_Store_As
    sUrl = "file:///C:/Users/.../My_Spreadsheet.ods"
    Thiscomponent.storeAsUrl(sUrl,array())
end sub
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Mister Office
Beiträge: 34
Registriert: Sa 14. Dez 2013, 07:32

Re: Libreoffice Makro mkdir ind chdir

Beitrag von Mister Office » Sa 14. Dez 2013, 15:30

F3K Total
Dann schau mal unter Extras/Optionen/LibreOffice/Pfade nach.
Also der Pfad bringt mir nicht's, weil ich habe Linux/Ubuntu 12.04.3 (64Bit)und LibreOffice 3.5.7.2 Build-ID: 350m1(Build:2)

Mister Office
Beiträge: 34
Registriert: Sa 14. Dez 2013, 07:32

Re: Libreoffice Makro mkdir ind chdir

Beitrag von Mister Office » Sa 14. Dez 2013, 15:43

Danke an F3K Total, das folgende konnte ich in meinem Quelltext gut unterbringen, und hat auch den gewünschten erfolg gebracht,
Ich bedanke mich bei dir auch für den Tipp mit dem Neustart von Libreoffice calc (LO)

Code: Alles auswählen

Sub s_Store_As
    sUrl = "file:///C:/Users/.../My_Spreadsheet.ods"
    Thiscomponent.storeAsUrl(sUrl,array())
end sub
Und jetzt die letzten Fragen,
1. Kann ich ohne Probleme, String Variabeln oder Date an den namen My_Spreadsheet.ods anhängen (ich gibs, ich bin Anfänger in Sachen Libreoffice calc ( MakroBasic-Programmierung)?
2. Kann ich My_Spreadsheet.ods auch als x-beliebigername.xls (xls) abspeichern?

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Libreoffice Makro mkdir ind chdir

Beitrag von F3K Total » Sa 14. Dez 2013, 15:55

Mister Office hat geschrieben:1. Kann ich ohne Probleme, String Variabeln oder Date an den namen My_Spreadsheet.ods anhängen (ich gibs, ich bin Anfänger in Sachen Libreoffice calc ( MakroBasic-Programmierung)?
2. Kann ich My_Spreadsheet.ods auch als x-beliebigername.xls (xls) abspeichern?
Zu 1. Den Dateinamen kannst Du mit dem Marko bilden, die Extension (.ods) muss am Ende stehen. Ich empfehle keine Sonder- und Leerzeichen zu verwenden, Beispiel: Meine_Daten123_am_14122013_um_1549_Uhr_gespeichert.ods
Zu 2. Das geht, ist aber definitiv nicht zu empfehlen, beim Konvertieren nach Excel geht öfter etwas verloren. Immer schön im Originalformat arbeiten, und nur zur Übergabe an Andere exportieren.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Mister Office
Beiträge: 34
Registriert: Sa 14. Dez 2013, 07:32

Re: Libreoffice Makro mkdir ind chdir

Beitrag von Mister Office » Sa 14. Dez 2013, 16:06

Danke für die Antworten (posting's) in diesem Thread , damit ist gemeint F3K Total.

Das Thema ist gelöst.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten