Von Calc zu VCS

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

SüdSauerland
***
Beiträge: 86
Registriert: Di, 07.08.2007 21:04

Von Calc zu VCS

Beitrag 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 ?
Windows Win10 # LibreOffice immer aktuell # Nicht mehr im Einsatz => OpenOffice 4.x
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Von Calc zu VCS

Beitrag 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
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
SüdSauerland
***
Beiträge: 86
Registriert: Di, 07.08.2007 21:04

Re: Von Calc zu VCS

Beitrag 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) 366-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/
------------------------------------------------------------------
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Re: Von Calc zu VCS

Beitrag 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
Dateianhänge
term.zip
(8.14 KiB) 252-mal heruntergeladen
SüdSauerland
***
Beiträge: 86
Registriert: Di, 07.08.2007 21:04

Re: Von Calc zu VCS

Beitrag von SüdSauerland »

Hallo Eia,

das sieht doch schon sehr gut aus. :D
Es ist zwar mit einigen Klicks verbunden, aber besser als nichts !!!

Gruß
Andreas
Windows Win10 # LibreOffice immer aktuell # Nicht mehr im Einsatz => OpenOffice 4.x
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Re: Von Calc zu VCS

Beitrag 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
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Von Calc zu VCS

Beitrag 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
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
SüdSauerland
***
Beiträge: 86
Registriert: Di, 07.08.2007 21:04

Re: Von Calc zu VCS

Beitrag 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
Dateianhänge
2007-08-14-termin.zip
Version 14.08.2007
(10.61 KiB) 262-mal heruntergeladen
Windows Win10 # LibreOffice immer aktuell # Nicht mehr im Einsatz => OpenOffice 4.x
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Von Calc zu VCS

Beitrag 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
Dateianhänge
Terminplaner.zip
(19.96 KiB) 241-mal heruntergeladen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
SüdSauerland
***
Beiträge: 86
Registriert: Di, 07.08.2007 21:04

Re: Von Calc zu VCS

Beitrag 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
Windows Win10 # LibreOffice immer aktuell # Nicht mehr im Einsatz => OpenOffice 4.x
SüdSauerland
***
Beiträge: 86
Registriert: Di, 07.08.2007 21:04

Re: Von Calc zu VCS

Beitrag 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 :?: :roll: :?:

Kann mir evtl. einer aus der Rubrik „OO Basic und Java“ helfen ?
Dateianhänge
2007-08-25_VCS Export.zip
Version 25.08.07
(10.94 KiB) 258-mal heruntergeladen
Windows Win10 # LibreOffice immer aktuell # Nicht mehr im Einsatz => OpenOffice 4.x
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Von Calc zu VCS

Beitrag 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. 8)

Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
SüdSauerland
***
Beiträge: 86
Registriert: Di, 07.08.2007 21:04

Re: Von Calc zu VCS

Beitrag von SüdSauerland »

Hallo Jürgen, das sieht gut aus. :D

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
Windows Win10 # LibreOffice immer aktuell # Nicht mehr im Einsatz => OpenOffice 4.x
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Von Calc zu VCS

Beitrag 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
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Von Calc zu VCS

Beitrag 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:

Code: Alles auswählen

odoc1.store(True)
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. :shock:
Und das soll auch so sein.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Antworten