Seite 1 von 3
Von Calc zu VCS
Verfasst: Fr, 10.08.2007 17:46
von SüdSauerland
Hallo zusammen,
ich suche eine Möglichkeit, die Daten aus einer Calc Termin Liste ins VCS (Kalender Format) umzuwandeln.
Ich habe leider bislang nichts kostenloses gefunden.
Gibt es hierfür evtl. ein Makro oder so ?
Re: Von Calc zu VCS
Verfasst: Fr, 10.08.2007 20:09
von Gert Seler
Hallo liebes "Südsauerland",
kannst Du das etwas detaillierter erklären.
Welche Daten mit welchem Format sollen in einen "Kalender " integriert werden ?
mfg
Gert
Re: Von Calc zu VCS
Verfasst: Sa, 11.08.2007 16:23
von SüdSauerland
Hallo Gert,
ich stelle mir das so vor, es gibt eine Calc Datei mit einer Liste (Dienstplan) von Terminen.
Über einen Schalter kann man nun ein Makro starten welches aus den Angaben der Liste eine VCS Datei erzeugt.
Fehlende Angaben wie z.b die Dauer könnte man auf einen fix Wert setzen.
- Termin.zip
- Hier die Termin.vcs und die Termin.ods
- (6.78 KiB) 365-mal heruntergeladen
Gruß
Andreas
------------------------------------------------------------------
Hier noch der Aufbau einer VCS
BEGIN:VCALENDAR
VERSION:1.0
PRODID:PalmDesktop Generated
BEGIN:VEVENT
SUMMARY:OpenOffice
DESCRIPTION:Beitrag im Forum ergänzen.
DTSTART:20070811T080000Z
DTEND:20070811T090000Z
LOCATION:Forum
END:VEVENT
END:VCALENDAR
http://www.imc.org/pdi/
------------------------------------------------------------------
Re: Von Calc zu VCS
Verfasst: Sa, 11.08.2007 18:14
von Eia
Mit einem Makro kann ich nicht dienen. Aber ich habe Deine Calc-Datei um eine Formelspalte ergänzt, die kannst Du einfach jeweils kopieren. Die erste und letzte Zeile sind dabei speziell.
Wenn Du diese Spalte kopierst und als "unformatierten Text" (das Einfüge-Icon mit dem kleinen Pfeil rechts aufklappen) in ein Writer-Dokument kopierst, kannst Du dort mit einem einfachen Suchen+Ersetzen-Durchlauf die gewünschte Datei erzeugen:
Suchen nach: #
Ersetzen durch: \n
Mehr Optionen: regulärer Ausdruck
Die Datei dann als Text-Datei speichern, dabei "automatische Dateiendung" ausschalten (Achtung: später wieder einschalten!) und stattdessen die richtige Endung anfügen.
Du könntest dafür auch eine Writer-Vorlage anlegen und den Start- und Endbereich bereits hier fest speichern, dann brauchst Du diese Zeilen nicht in der Calc-Datei (Zeilen 1 und 7 im Beispiel).
mfG
Re: Von Calc zu VCS
Verfasst: So, 12.08.2007 10:46
von SüdSauerland
Hallo Eia,
das sieht doch schon sehr gut aus.
Es ist zwar mit einigen Klicks verbunden, aber besser als nichts !!!
Gruß
Andreas
Re: Von Calc zu VCS
Verfasst: So, 12.08.2007 11:49
von Eia
SüdSauerland hat geschrieben:
Es ist zwar mit einigen Klicks verbunden, aber besser als nichts !!!
Zumindest den Teil mit dem suchen+Ersetzen kannst Du sicher mit Extras/Makro/aufzeichnen als Makro aufzeichnen lassen, vielleicht klappts ja auch schon aus dem Calc-Dokument, ab der Erstellung eines Textdokumentes plus Einfügen als unformatiereten Text. Probier einfach mal.
mfG
Re: Von Calc zu VCS
Verfasst: Mo, 13.08.2007 10:22
von Gert Seler
Hallo Südsauerland und Eia,
war am Wochenend außer Haus, konnte deshalb nicht antworten.
Eia danke schön für die Lösung und "Südsauerland" danke für die Details.
mfg
Gert
Re: Von Calc zu VCS
Verfasst: Di, 14.08.2007 22:29
von SüdSauerland
Hallo zusammen,
so nun habe ich die Tabelle noch erweitert.
Es ist nun möglich eine Start Uhrzeit für einen Termin anzugeben.
Über die Vorgabewerte ist es nun möglich,
1. die Dauer der Termine einzustellen (allgemein gültig)
2. wie viel Tage zuvor ein Alarm ausgelöst wird. (allgemein gültig)
Gruß
Andreas
Re: Von Calc zu VCS
Verfasst: Mi, 15.08.2007 22:39
von turtle47
Hallo Andreas,
irgendwie hat mich das Thema gereizt.
Ich habe zu Deiner Anforderung ein Makro geschrieben, zunächst nur für eine Zeile (Termin), welches die Daten ausliest
und dann in ein Writerdokument überträgt. Wenn es funktioniert und Du Interesse hast, müsste man natürlich alle Zeilen einlesen.
Wenn man dieses Writerdokument dann im Text(.txt) Format abspeichert und anschließend die Endung .txt in .vcs
umbenennt, solltest Du diese Datei zu Deinem Zweck verwenden können.
Entpacke die Zip-Datei direkt in C:/, oder Du musst die Pfadangabe im Makro anpassen.
Viel Erfolg.
Jürgen
Re: Von Calc zu VCS
Verfasst: Do, 16.08.2007 22:53
von SüdSauerland
Hallo Jürgen,
das sieht doch schon gut aus.
Nur das Feld Datum sollte schon in der eigentlichen Liste im TT.MM.JJJJ Format bleiben.
Ich würde ja gerne die Liste einmal in Papierform weitergeben und einmal als VCS Datei.
Es währe sicherlich auch von Vorteil, wenn du noch "DALARM:20070924T100000Z" mit einfügst, hierdurch wird der Alarm für den Termin aktiviert. Entweder Grundsätzlich 5 Tage im Voraus oder mit einem flexiblen Wert aus der Tabelle Vorgaben.
In Writer habe ich mir ein Makro aufgezeichnet welches die Schritte wie Eia beschrieben hat erledigt. Super Sache, nur das Makro einer Schaltfläche zuzuweisen hat mich doch noch ein bissen an Zeit gekostet. Aber so ist das ganze wirklich ein „Kinderspiel“.
„Kosmetik am Makro“
Evtl. solltest du die Termine.odt auf vorhanden sein überprüfen, oder grundsätzlich neu anlegen.
Gruß
Andreas
Re: Von Calc zu VCS
Verfasst: Sa, 25.08.2007 15:48
von SüdSauerland
Hallo zusammen,
so am Wochenende hatte ich ein wenig Zeit und habe mal das Makro von Jürgen angepasst.
Was mir jetzt eigentlich noch fehlt, ist das direkte speichern der der Daten aus Calc heraus.
Das muss doch irgendwie gehen
Kann mir evtl. einer aus der Rubrik „OO Basic und Java“ helfen ?
Re: Von Calc zu VCS
Verfasst: Sa, 25.08.2007 23:35
von turtle47
Hallo Andreas,
speicher den folgenden Code in der Bibliothek unter "Meine Makros& Dialoge" > Standard
Code: Alles auswählen
sub Speichern_als_vcs
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///C:/Terminplaner/Termine.vcs" 'Speichern als vcs-Datei
args1(1).Name = "FilterName"
args1(1).Value = "Text"
args1(2).Name = "SelectionOnly"
args1(2).Value = true
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
oDoc=thisComponent
odoc.close(True) 'Das Dokument wird geschlossen
end sub
Die letzten Zeilen des bestehenden Makros aus dem Calc-Sheet ersetzt Du mit:
Code: Alles auswählen
..................
next x
sUrl = convertToURL("C:\Terminplaner\Termine.odt")
vDoc=StarDesktop.loadComponentFromURL (sURL, "_blank", 63, Arg())
odoc1=vDoc
otext=vdoc.text
ocursor=otext.createtextcursor()
otext.insertString(ocursor,VCS_Daten_Anfang & VCS_Daten & VCS_Daten_Ende,false)
Wait 1000
odoc1.store(True)
Speichern_als_vcs 'Aufruf des Makros aus "Meine Makros"
End Sub
Dann wie gewohnt das Makro über den Button im Calc-Sheet starten.
Nach Durchlauf der Makros befindet sich jetzt die aktuelle vcs-Datei im Ordner Terminplaner.
Viel Erfolg.
Jürgen
Re: Von Calc zu VCS
Verfasst: So, 26.08.2007 11:52
von SüdSauerland
Hallo Jürgen, das sieht gut aus.
Allerdings hängt das Makro den Inhalt immer wieder an den Inhalt von der Termine.odt.
Kann man nicht nach dem öffnen der Termine.odt alles markieren und dann den Inhalt aus Calc einfügen ?
Damit würden dann ja der alte Inhalt überschrieben.
Warum ist es eigentlich nicht möglich die „sub Speichern_als_vcs“ im Makro von Calc auszuführen ?
Es währe doch schöner wenn sich jeder User hier nur die Datei herunter zieht und schon läuft alles.
Aus diesem Grund hatte ich eigentlich mal versucht, den Inhalt in eine neue Calc zu schreiben und dann diese als Text CSV abzulegen (gespeichert natürlich als VCS). Von Hand funktioniert das auch so weit, allerdings noch nicht als Makro (Bin halt Anfänger).
Gruß
Andreas
Re: Von Calc zu VCS
Verfasst: So, 26.08.2007 12:04
von turtle47
Hallo Andreas,
SüdSauerland hat geschrieben:
Allerdings hängt das Makro den Inhalt immer wieder an den Inhalt von der Termine.odt.
Das weis ich. Ich hatte es nur so von Dir übernommen.
SüdSauerland hat geschrieben:
Kann man nicht nach dem öffnen der Termine.odt alles markieren und dann den Inhalt aus Calc einfügen ?
Damit würden dann ja der alte Inhalt überschrieben.
Das kann man versuchen.
SüdSauerland hat geschrieben:
Warum ist es eigentlich nicht möglich die „sub Speichern_als_vcs“ im Makro von Calc auszuführen ?
Das hatte ich bereits schon versucht, aber da gab es Probleme mit den Sicherheitseinstellungen von OO.o
Werde es aber noch mal versuchen.
SüdSauerland hat geschrieben:
Es währe doch schöner wenn sich jeder User hier nur die Datei herunter zieht und schon läuft alles.
Da hast Du Recht.
SüdSauerland hat geschrieben:(Bin halt Anfänger).
Ich auch.
Schönen Gruß.
Jürgen
Re: Von Calc zu VCS
Verfasst: So, 26.08.2007 13:19
von turtle47
SüdSauerland hat geschrieben:
Allerdings hängt das Makro den Inhalt immer wieder an den Inhalt von der Termine.odt.
Diese Problem löst Du wie folgt.
Entferne folgende Zeile im Makro des Calc-Sheets:
Dann öffnest Du das Writerdokument und löschst den vorhandenen Text und speicherst das Dokument.
Beim Ausführen des Makros wird jetzt der Inhalt der Tabelle in das leere Blatt geschrieben und anschließend ja im
vcs-Format gespeichert. Die Termine.ods wird jetzt ohne zu speichern geschlossen, bleibt also leer.

Und das soll auch so sein.
Jürgen