🙏 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. 🤗

ics-Datei mit Makro erstellen - Ausgabe in utf-8 Format

Alles zur Programmierung im LibreOffice.
Antworten
pbES
Beiträge: 6
Registriert: Fr 6. Sep 2019, 14:29

ics-Datei mit Makro erstellen - Ausgabe in utf-8 Format

Beitrag von pbES » Fr 6. Sep 2019, 14:33

Hallo,
ich habe ein Makro, das mit Termine als ics-Datei aus einer .ods-Datei herausschreibt.

Leider ist die Ausgabedatei im ANSI-Format; die Umlaute sind in thunderbird nicht importierbar, mit utf-8 geht's. Jetzt möchte ich nicht jedes Mal den Editor bemühen. Hat mir jemand eine bessere Idee?

Der Beginn des Makros:

'#########
' Kalenderdatei öffnen, In Datei schreiben
strDatnam = "D:\Test\test4.ics"
intFF = FreeFile()
Open strDatnam For Output As #intFF
Print #intFF, "BEGIN:VCALENDAR"
Print #intFF, "VERSION:2.0"
Print #intFF, "PRODID:-//Posteo Webmail//NONSGML Calendar//EN"
Print #intFF, "X-WR-Timezone: Europe/Berlin"
' dann kommen die Termine....
' Ende des Makros:

Print #intFF,"END:VCALENDAR"
Close #intFF

end sub

Elegant geht bestimmt anders. Ist mein erster Versuch :-)

Danke!

Gruß Petra

musikai
Beiträge: 263
Registriert: Do 14. Mai 2015, 17:53

Re: ics-Datei mit Makro erstellen - Ausgabe in utf-8 Format

Beitrag von musikai » Fr 6. Sep 2019, 18:14

Hi,

versuchs mal damit. Vorher lösche Deine "test4.ics"-Datei komplett, damit kein Mischmasch entsteht.

Code: Alles auswählen

sub write_ics
strDatnam = "D:\Test\test4.ics"
oSFA = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
If oSFA.exists( strDatnam ) Then oSFA.kill( strDatnam )
oTextoutputStream = CreateUnoService("com.sun.star.io.TextOutputStream")
ooutputStream = oSFA.openFileWrite(strDatnam)
oTextoutputStream.setOutputStream(ooutputStream)

oTextoutputStream.writeString("BEGIN:VCALENDAR" & CHR$(13) & CHR$(10)) 
oTextoutputStream.writeString("VERSION:2.0" & CHR$(13) & CHR$(10)) 
oTextoutputStream.writeString("PRODID:-//Posteo Webmail//NONSGML Calendar//EN" & CHR$(13) & CHR$(10)) 
oTextoutputStream.writeString("X-WR-Timezone: Europe/Berlin" & CHR$(13) & CHR$(10)) 

' dann kommen die Termine....
' Ende des Makros:

oTextoutputStream.writeString("END:VCALENDAR" & CHR$(13) & CHR$(10)) 

oTextoutputStream.closeOutput()
end sub
Zuletzt geändert von musikai am So 12. Jan 2020, 14:04, insgesamt 1-mal geändert.
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

pbES
Beiträge: 6
Registriert: Fr 6. Sep 2019, 14:29

Re: ics-Datei mit Makro erstellen - Ausgabe in utf-8 Format

Beitrag von pbES » Fr 6. Sep 2019, 18:35

super, vielen Dank!

Aber jetzt kommt's: Wie kommt man da drauf? Oder noch prinzipieller: Ich hab den Unterschied zwischen utf-8 und ANSI nicht verstanden, was hat's mit den CHR$(13) & CHR$(10) auf sich... Bzw. wo kann man sich da einlesen? Ich freue mich auf ein paar Tips.

Gruß Petra

musikai
Beiträge: 263
Registriert: Do 14. Mai 2015, 17:53

Re: ics-Datei mit Makro erstellen - Ausgabe in utf-8 Format

Beitrag von musikai » Fr 6. Sep 2019, 19:08

Hi,
pbES hat geschrieben:
Fr 6. Sep 2019, 18:35
Wie kommt man da drauf?
Tja, hatte mal ein ähnliches Problem und dann das internet durchforstet und in irgendeinem Forum gefunden.
& CHR$(13) & CHR$(10) ist der Zeilenumbruch am Ende der Zeilen.

also für macros allgemein schaue ich immer hier nach:
http://www.pitonyak.org/oo.php
Deutsche Version des Buches "Macros explained":http://www.uni-due.de/~abi070/count.php ... eutsch.pdf
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

pbES
Beiträge: 6
Registriert: Fr 6. Sep 2019, 14:29

Re: ics-Datei mit Makro erstellen - Ausgabe in utf-8 Format

Beitrag von pbES » Fr 6. Sep 2019, 19:24

Vielen Dank nochmal. Dann ist ja erst mal für Lesestoff gesorgt :-)


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