Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Kalenderübersicht in *.vcs-Datei speichern/erstellen
zurück: Einfügen Daten weiter: Wert in Tabellenblatt suchen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
mcflow
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. Nov 2008, 00:22
Rufname:

Kalenderübersicht in *.vcs-Datei speichern/erstellen - Kalenderübersicht in *.vcs-Datei speichern/erstellen

Nach oben
       Version: Office 2003

Hallo liebes Forum und liebe Mitglieder,

ich habe mich mit meiner Frage schon zuvor den ganzen Tag beschäftigt und fleißig im Forum gelesen, nur leider bin ich noch zu keiner Lösung gekommen.

Konkret handelt es sich um das Problem, dass ich von einer Intranetseite meiner Uni Excelexporte von einem Kalender machen kann, der diese folgende Übersicht hat :

Zitat:
Spalte1 Spalte 2 Spalte 3 Spalte 4 Spalte5 Spalte 6
beginnt am beginnt um endet um Betreff Beschreibung Ort
21.01.2008 09:00 14:00 M2: Wissenschaftliche Grundbegriffe; Grundzüge der Wissenschaftstheorie I Prof. Dr. ***********
21.01.2008 14:30 16:30 M2: Besuch der kanadischen Botschaft (Abteilung Public Affairs)
etc.


Dabei ist noch nicht festgelegt wie viele Einträge es nach unten hin gibt. Es kommt halt darauf an von wann man die Einträge kopieren möchte.

Mein Ziel ist es jetzt jeden dieser Einträge in folgendes Format zu konvertieren und dabei soll der Datensatz gleichzeitig in einer *.vcs-Datei gespeichert werden.

Formatvorlage:

Zitat:
BEGIN:VCALENDAR
BEGIN:VEVENT
SUMMARY: Wissenschaftliche Grundbegriffe, Grundzüge der Wissenschaftstheorie I
DESCRIPTION: ab 09:00 Uhr --- Aktuelle Termine ggf. Zeitverschiebung/-zone bitte beachten.
DTSTART:20080121T090000
DTEND:20080121T140000
LOCATION: Berlin
END:VEVENT
END:VCALENDAR


Über Makro Aufzeichnen, Zellen kopieren und Inhalte transponieren, dann mit Ersetzen durch (Strg+H) komme ich schon in die Nähe des Formats. Allerdings soll er das Makro ja automatisch auf "unbegrenzte" Zeilen anwenden und da bin ich etwas überfragt. Ebenso weiß ich nicht genau wie ich das in eine "Uebersicht.vcs"-Datei exportieren soll.

Mein Ansatz war dieser :

Zitat:
Private Sub CommandButton1_Click()
Dim R As Long, C As Long
Open "C:\Uebersicht.vcs" For Output As #1
Do
If Cells(R, 1).Value = "" Then Exit Do
Print #1, _
Format(Cells(R, 1), String(6, "@")) & _
Format(Cells(R, 2), "!" & String(10, "@")) & _
Format(Cells(R, 3), "!" & String(10, "@")) & _
Format(Cells(R, 4), "!" & String(5, "@")) & _
Format(Cells(R, 5), "!" & String(15, "@"))
'
' nähere Info in der VBA-Hilfe zur Format-Funktion!
'
R = R + 1
Loop
Close #1

End Sub


Allerdings ist alles was dort in Rot steht nicht relevant für mich, da dort ja eine Eingrenzung gemacht wurde.

Diese vcs-Datei ist dann die Grundlage für mich, per Drag&Drop meinen Kalender des Mozilla Thunderbird zu füllen und alles in einer Übersicht zu haben.

Ich hoffe auf eure Unterstützung und freue mich auf hilfreiche Tipps.

LG Flo
bst
Programmierer


Verfasst am:
25. Nov 2008, 11:06
Rufname: Bernd
Wohnort: Ilsfeld


AW: Kalenderübersicht in *.vcs-Datei speichern/erstellen - AW: Kalenderübersicht in *.vcs-Datei speichern/erstellen

Nach oben
       Version: Office 2003

Hi Flo,

versuche das mal so.

cu, Bernd
--
Code:
Option Option Explicit

Sub x()
   Dim intHandle As Integer
   Dim i As Long
   
   intHandle = FreeFile
   Open "C:\Uebersicht.vcs" For Output As #1
   Print #intHandle, "BEGIN:   VCALENDAR"
   For i = 2 To IIf(Len(Cells(Rows.Count, 1)), Rows.Count, Cells(Rows.Count, 1).End(xlUp).Row)
      Print #intHandle, "BEGIN: VEVENT"
      Print #intHandle, "SUMMARY: "; Cells(i, 4).Text & " " & Cells(i, 5).Text
      Print #intHandle, "DESCRIPTION: ab " & Cells(i, 3).Text & " Uhr --- Aktuelle Termine ggf. Zeitverschiebung/-zone bitte beachten."
      Print #intHandle, "DTSTART:" & MakeDate(Cells(i, 1).Text, Cells(i, 2).Text)
      Print #intHandle, "DTEND:" & MakeDate(Cells(i, 1).Text, Cells(i, 3).Text)
      Print #intHandle, "LOCATION: " & Cells(i, 6).Text
      Print #intHandle, "End: VEVENT"; vbNewLine
   Next
   Print #intHandle, "End: VCALENDAR"
   Close #intHandle
End Sub

Private Function MakeDate(ByVal s1 As String, ByVal s2 As String) As String
   If Not IsDate(s1) Or Not IsDate(s2) Then Exit Function
   
   MakeDate = Year(s1) & Format(Day(s1), "00") & Format(Month(s1), "00") & "T" & _
      Format(Hour(s2), "00") & Format(Minute(s2), "00") & Format(Second(s2), "00")
End Function
mcflow
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. Nov 2008, 12:09
Rufname:

AW: Kalenderübersicht in *.vcs-Datei speichern/erstellen - AW: Kalenderübersicht in *.vcs-Datei speichern/erstellen

Nach oben
       Version: Office 2003

Hallo Bernd,

das ist ja klasse. Ich spreche dir erstmal meinen riesen Dank aus. Genau so etwas habe ich gesucht. Nun habe ich versucht diese Uebersicht.vcs in Thunderbird zu importieren. Es erscheint jedoch immer eine Fehlermeldung. Komischerweise ging es vorher, als ich einen einzelnen Termin als *.vcs gespeichert hatte und ihn dann eingefügt habe. Jedoch funktionierte das dann auch nicht mehr.

Ich habe jetzt einfach mal einen Termin aus dem Kalender exportiert und als *.vcs gespeichert.

Mit folgendem Code :

Zitat:

BEGIN:VCALENDAR
VERSION:1.0
PROD-ID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20081118T230000
DTEND:20090220T080000
UID:c386cac9-0224-4757-b61b-9446c01d2510
SUMMARY;ENCODING=QUOTED-PRINTABLE::Bericht bis 20.02.2009
LOCATION:Berlin
END:VEVENT
END:VCALENDAR


Soweit so gut. Ändere ich manuell die Uebersicht.vcs und füge immer eine UID für jeden Termin hinzu so sollte es funktionieren.

Wie wird allerdings automatisch solch eine UID generiert mit dem Format ?

Nun kommt noch ein kleines Problem - Es gibt Tage an denen mehrere Termine vorhanden sind. Der Excelreport schreibt das Datum allerdings nur in die Zeile des ersten Termins. Man kann sich das so vorstellen :

Spalte1 Spalte2 Spalte3 Spalte4 Spalte5(Aufbau wie im Anfangspost)
Zeile1 14.05.09 8:00 12:00 Work
Zeile2 _______ 12:00 13:00 Lunch
Zeile3 _______ 13:00 18:00 Meeting

Wie könnte man also in das Makro schreiben - Prüfe ob nachfolgende Zelle einer Vorherigen Zelle leer ist, wenn dem so ist dann übernehme Text aus vorheriger nicht-leerer Zelle, wenn nicht dann tue nichts. Das gilt aber nur für die Datum-Spalte.

Vielen Dank für die fabelhafte Antwort bisher.

LG Flo
bst
Programmierer


Verfasst am:
26. Nov 2008, 12:43
Rufname: Bernd
Wohnort: Ilsfeld


AW: Kalenderübersicht in *.vcs-Datei speichern/erstellen - AW: Kalenderübersicht in *.vcs-Datei speichern/erstellen

Nach oben
       Version: Office 2003

Hi,

Erstmal zur UID. Laut http://de.wikipedia.org/wiki/ICalendar ist ICalendar in der RFC 2445 definiert: http://tools.ietf.org/html/rfc2445

Dort findest Du sowas:

Zitat:
4.8.4.7 Unique Identifier

Property Name: UID

Purpose: This property defines the persistent, globally unique
identifier for the calendar component.

Value Type: TEXT

Property Parameters: Non-standard property parameters can be
specified on this property.

Conformance: The property MUST be specified in the "VEVENT", "VTODO",
"VJOURNAL" or "VFREEBUSY" calendar components.

Description: The UID itself MUST be a globally unique identifier. The
generator of the identifier MUST guarantee that the identifier is
unique. There are several algorithms that can be used to accomplish
this. The identifier is RECOMMENDED to be the identical syntax to the
[RFC 822] addr-spec. A good method to assure uniqueness is to put the
domain name or a domain literal IP address of the host on which the
identifier was created on the right hand side of the "@", and on the
left hand side, put a combination of the current calendar date and
time of day (i.e., formatted in as a DATE-TIME value) along with some
other currently unique (perhaps sequential) identifier available on
the system (for example, a process id number). Using a date/time
value on the left hand side and a domain name or domain literal on
...


Ich würde also einfach mal meinen es ist ziemlich egal was Du da reinschreibst, Hauptsache es kommt nur einmal vor.

Als ich 'meine Daten' für ReminderFox importiert habe, habe ich da (IIRC) einfach:

UID:01-0001

reingeschrieben und die hintere Nummer je Zeile erhöht.

Beim 'zweiten - unterschiedlichen - Import' dito, da habe ich aber mit:

UID:02-0001

angefangen.

HTH, Bernd
--
IIRC: http://www.edv-abkuerzungen.de/index.php?query=IIRC
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Erstellen einer Auswertungstabelle für Fussballspiele 1 darkface 1437 08. Sep 2006, 20:32
Hübi Erstellen einer Auswertungstabelle für Fussballspiele
Keine neuen Beiträge Excel Formeln: automatisches x erstellen 4 MRBoy1998 702 08. Sep 2006, 14:48
ae automatisches x erstellen
Keine neuen Beiträge Excel Formeln: Formular aus Tabelle erstellen/abfüllen 2 fotm 4798 13. Aug 2006, 18:14
FOTM Formular aus Tabelle erstellen/abfüllen
Keine neuen Beiträge Excel Formeln: Auswahlliste erstellen und integrieren 9 fraga 4576 31. Jul 2006, 13:02
fraga Auswahlliste erstellen und integrieren
Keine neuen Beiträge Excel Formeln: aus verschiedenen Datenblättern ein Liste erstellen 1 Flusskrebs123 1660 29. Jul 2006, 09:42
rainberg aus verschiedenen Datenblättern ein Liste erstellen
Keine neuen Beiträge Excel Formeln: Tagesprotokoll erstellen und Daten in eine Tabelle schreiben 1 rafabaer 7121 22. Jul 2006, 02:01
Gast Tagesprotokoll erstellen und Daten in eine Tabelle schreiben
Keine neuen Beiträge Excel Formeln: Aus einer Rezepte-Tabelle eine Einkaufsliste erstellen 7 achillespro 3267 20. Jul 2006, 10:04
< Peter > Aus einer Rezepte-Tabelle eine Einkaufsliste erstellen
Keine neuen Beiträge Excel Formeln: Brief/Fax erstellen... 4 sisqonrw 3040 22. Apr 2006, 13:41
sisqonrw Brief/Fax erstellen...
Keine neuen Beiträge Excel Formeln: Kalender mit Wochenende erstellen (Wechseldienst) 4 Bonny 7508 03. Apr 2006, 23:28
Bonny Kalender mit Wochenende erstellen (Wechseldienst)
Keine neuen Beiträge Excel Formeln: Verknüpfungen durch Marko erstellen 3 DarkSun24 1231 25. Nov 2005, 19:28
Gast Verknüpfungen durch Marko erstellen
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Excel Formeln: Wer kann mir ein Makro erstellen?????? wäre echt nett 1 jvakleve61 2456 28. Okt 2005, 05:55
ae Wer kann mir ein Makro erstellen?????? wäre echt nett
Keine neuen Beiträge Excel Formeln: Formeln speichern 6 Joerg112 802 15. Okt 2005, 19:45
Joerg112 Formeln speichern
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: PHP Forum