BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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: 262
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: 262
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 nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten