Seite 2 von 2

Re: Können Makros dateiübergreifend aufgezeichnet werden?

Verfasst: Sa, 06.05.2023 17:46
von kilix
Gelöst!
Ich habe einen Code gefunden der den Name der aktuellen Directory in eine Variable speichert: das sieht jetzt so aus:

Code: Alles auswählen

	surl = thiscomponent.url
	apfad = split(surl,"/")
	apfad(ubound(apfad)) = ""
	spfad = join(apfad,"/")
   	sURL = convertToURL(spfad+"Daten.csv")
   	oCSV = StarDesktop.LoadComponentFromURL(sURL(0), "_blank", 0, args())
Nachdem das jetzt so funktioniert wie es meine Anwendung optimal ist bedanke ich mich noch einmal für die großartige Hilfe. Durch mein Suchen nach Code-Beispielen bin ich zwar nicht in die Geheimnisse der "Nicht-Basic-Codes" eingedrucngen habe aber doch eine gewisse vage Vorstellung gewonnen wie diese funktionieren. Für die nächste Zeit habe einiges zu tun, um meine Anwendung mit aufzeichenbaren Makros zu vervollständigen. Wenn ich dann zu den Übertragungen von ODS zu ODS komme werde ich versuchen das bisher gelernte (oder abgeschriebene ;-))) anzupassen. Wahrscheinlich ergeben sich dann wieder Fragen mit denen ich mich gerne wieder an euch wenden werde.

Re: Können Makros dateiübergreifend aufgezeichnet werden?

Verfasst: Sa, 06.05.2023 18:00
von mikeleb
Hallo,
schön, das es funktioniert. Den letzten Code könntest du noch etwas vereinfachen (wenn du den Pfad nicht noch für etwas anderes brauchst):

Code: Alles auswählen

	surl = thiscomponent.url
	apfad = split(surl,"/")
	apfad(ubound(apfad)) = "Daten.csv"
   	sURL = convertToURL(join(apfad,"/"))
   	oCSV = StarDesktop.LoadComponentFromURL(sURL, "_blank", 0, args())

Re: Können Makros dateiübergreifend aufgezeichnet werden?

Verfasst: Sa, 06.05.2023 18:34
von kilix
Danke, das werde ich so ändern denn ich brauche das immer nur zwischen 2 Dokumenten.

Aber eine andere Frage habe ich noch: ich verwende diesen Makro in Windows 10. Läuft der auch unter den anderen Betriebssystemen unter denen OpenOffice läuft und funktionieren diese Makros auch unter LibreOffice?
Eines erscheint mir klar: wenn jemand die Dokumente nach Excel konvertiert wird er auch die Makros neu schreiben müssen aber dieses Problem ist nicht mein Problem :)

Re: [gelöst] Können Makros dateiübergreifend aufgezeichnet werden?

Verfasst: So, 07.05.2023 00:56
von Hiker
Grundsätzlich laufen die Macros auch unter Linux. Problematisch sind absolute Dateinamen wie bei Dir

Code: Alles auswählen

convertToURL("f:\SVSTST\Daten.csv")
Ähnliche Fallen gibt es bei Gross- und Kleinschreibung, die bei Windows für Dateien ignoriert wird. Datei.csv findet unter Windows also auch datei.CSV aber eben nicht unter Linux.

Von Open nach LibreOffice funktioniert auch fast alles, bei LibreOffice muss man auf Neuerungen verzichten, die OpenOffice nicht kennt...

Re: [gelöst] Können Makros dateiübergreifend aufgezeichnet werden?

Verfasst: So, 07.05.2023 10:06
von kilix
Danke,
ich werde vorbauend gleich alle Großbuchstaben in Datei- und Verzeichnisnamen auf Kleinbuchstaben ändern.