Synchronisierung mehrerer Outlook-Kalender mit Nokia PC-Suite

FeliX_22

Well-known member
Hallo Leute!

Ich benutze Nokia PC Suite und das darin enthaltene PC Sync, um meine Outlook-Kontakte und -Kalender mit meinem Handy zu synchronisieren. Ich habe zwei Kalender in Outlook 2010. Beide gehören zur selben Datendatei.

Mein Problem ist, dass nur der erste Kalender synchronisiert wird. Der zweite wird ignoriert. Ist ja auch logisch, wenn man sich die Einstellungen ansieht:

pcsync.png


Das Problem ist nämlich auch, dass ich in beide Richtungen synchronisiere. Einmal habe ich meinen zweiten Kalender zum synchronisieren ausgewählt und als Richtung von Outlook zum Handy eingestellt. So bekam ich alle Daten in mein Handy, aber bei der nächsten regulären Synchronisierung (nachdem ich wieder auf in beide Richtungen und den Haupt-Kalender eingestellt hatte) wurden die Daten aus dem zweiten Kalender nochmal in den ersten Kalender in Outlook kopiert. Wie erwartet.

Kennt jemand ne Möglichkeit, wie ich beide Kalender synchronisieren kann?

Gruß

FeliX_22
 
hallo,

habe ich selber noch nicht probiert, aber,
die suite funktioniert auch mit lotus und exchange!!
du müstest dann, wenn die nokiasuite nur einen
kalender verarbeiten kann, mit einem weiteren
genannten programm arbeiten!

hast du einmal bei nokia geschaut, ob es vielleicht eine
neuere suite gibt??
bei neueren geräten ist wohl die 7.1.1 zu wählen, bei
älteren die 4.8...
und es gibt zu jeder suite ein pdf-formular zum einlesen,
wie was geht!!

versuch macht kluch

mfg
 
Ich habe eine Testversion von Lotus Notes installiert. Dann wollte ich meine Outlook Kalender mit Notes synchronisieren, um dann mein Handy mit Notes zu synchronisieren. Aber soweit komme ich nicht. Ich komme mit Lotus Notes nicht zurecht. Da kann ich nicht mal einen Kalendereintrag hinzufügen. Selbst wenn ich mir das erklären ließe oder nach einem Tutorial googeln würde - dass ich dann in der Reihenfolge Outlook-Notes-Nokia PC Sync synchronisieren kann, möchte ich bezweifeln. Jedenfalls nicht ohne Chaos in den Kalendern zu verbreiten. Denn irgendwie müssen die neuen Einträge vom Handy wieder zu Outlook zurückkommen.

Es scheint an der Nokia-Software zu liegen, die schlicht keine 2 Kalender unterstützt, egal ob mit Outlook oder Lotus Notes.

Gibt es weitere Anregungen?

Gruß

FeliX_22
 
Hallo,

wie wäre es denn, wenn du die beiden Kalender zu einem zusammenfährst und diesen synchronisierst.
So mache ich es mit mehreren (5) Kalendern.
Wichtig ist nur, dass alle Termine einer Kategorie zugeordnet werden, bei dir zumindest Einem, damit sie auch nach der Synchronisation wieder einfach über die Filterung getrennt werden können.
 
Hm, das Problem ist aber, dass ich schon reichlich Gebrauch von der Kategorisierungsfunktion mache. Oder übersehe ich da was? Wenn ich beide Kalender zu einem zusammenfahre(?) dann kann ich doch gleich bei einem Kalender bleiben.

Ich habe diesen Thread http://www.freesoft-board.to/f287/info-tutorial-outlook-mit-pc-handy-und-notebook-synchronisieren-380786.html gefunden, ist auch sehr interessant was da steht, aber ich konnte da nichts herauslesen, was mir hier hilft.

Erklär mir doch bitte etwas genauer wie du das mit den Kategorien und der Filterung (Regeln?) meinst.

Gruß

FeliX_22

EDIT:
Danke, jetzt hab ich dich verstanden. :) Klingt interessant, ich probiere das demnächst aus und melde mich dann.
 
Also, egal welche Kategorien du schon zugewiesen hast, vergib für einen Kalender in allen Terminen z.B. "Kalender2"

Geht am einfachsten, wenn du dir "alle Termine" anzeigst, alles markieren und der Kategorie zuweisen.

Dann lass dir die Ansicht "Alle Termine" in diesem Kalender anzeigen (Tabellenansicht) markiere diese und kopier sie in den zu synchronisierenden Kalender (Hauptkalender)

Dann synchronisieren.

Wenn die Synchronisation abgeschlossen ist, dann filtere aus dem Hauptkalender wieder alle Termine mit der Kategorie "Kalender2" und lösche sie.

Das ganze lässt sich natürlich auch mit Makros machen.
Aber darüber brauch ich dir ja bestimmt nichts zu erzählen, denk ich mir mal.
 
Hallo dark41836!

Ich hatte jetzt endlich mal Zeit mich darum zu kümmern. Hab erst manuell alles so gemacht wie du vorgeschlagen hast:

- Kalender2 öffnen
- Auf Ansicht Liste gehen
- Alles markieren
- Alles der Kategorie "Synchronisierung" zuweisen
- Alles nach Kalender kopieren
- Manuell mit Nokia synchronisieren
- Im Hauptkalender alle Termine mit der Kategorie "Synchronisierung" löschen

Das hat wunderbar geklappt, also vielen Dank soweit! Es ist natürlich etwas umständlicher als bisher, also hab ich mich mal an VBA in Outlook rangewagt. Im Gegensatz zu Word, Excel oder Access hab ich noch nie in Outlook mit VBA gearbeitet, insofern wäre es nicht schlecht gewesen, wenn du schon mal was dazu gepostet hättest. Du schreibst, dass du das auch so machst? Aber nicht manuell, oder?

Nach ein paar Stunden suchen hab ich dann endlich einen Quelltext gefunden, der mir gezeigt hat, wie man auf einen Termin aus einem Kalender zugreift. Der Rest ging dann mit bekanntem VBA schneller voran. Hier mein vorläufiges Ergebnis. Es funktioniert, aber daran muss noch gearbeitet werden.

Code:
[COLOR="Navy"]Private Sub[/COLOR] SynchronisierungStudium()
    [COLOR="Navy"]Dim[/COLOR] objApp [COLOR="Navy"]As[/COLOR] Application
    [COLOR="Navy"]Dim[/COLOR] objNS [COLOR="Navy"]As[/COLOR] NameSpace
    [COLOR="Navy"]Dim[/COLOR] objCalendarKalender [COLOR="Navy"]As[/COLOR] MAPIFolder
    [COLOR="Navy"]Dim[/COLOR] objCalendarStudium [COLOR="Navy"]As[/COLOR] MAPIFolder
    [COLOR="Navy"]Dim[/COLOR] objItem [COLOR="Navy"]As[/COLOR] AppointmentItem
    [COLOR="Navy"]Dim[/COLOR] objItem2 [COLOR="Navy"]As[/COLOR] AppointmentItem
    [COLOR="Navy"]Dim[/COLOR] objItemCopied [COLOR="Navy"]As[/COLOR] AppointmentItem
    [COLOR="Navy"]Dim[/COLOR] strSubject [COLOR="Navy"]As[/COLOR] String
    [COLOR="Navy"]Set[/COLOR] objApp = CreateObject("Outlook.Application")
    [COLOR="Navy"]Set[/COLOR] objNS = objApp.GetNamespace("MAPI")
    [COLOR="Navy"]Set[/COLOR] objCalendarKalender = objNS.GetDefaultFolder(olFolderCalendar) [COLOR="Green"]' Hauptkalender[/COLOR]
    [COLOR="Navy"]Set[/COLOR] objCalendarStudium = objNS.GetDefaultFolder(olFolderCalendar).Folders("Studium") [COLOR="Green"]' Kalender Studium[/COLOR]
    [COLOR="Navy"]Dim[/COLOR] syncKat [COLOR="Navy"]As Boolean[/COLOR]
    [COLOR="Navy"]Dim[/COLOR] i [COLOR="Navy"]As Integer[/COLOR]
    i = 0

    [COLOR="Navy"]On Error Resume Next[/COLOR]
    [COLOR="Green"]'On Error GoTo ErrHandle[/COLOR]
    
    [COLOR="Navy"][COLOR="Navy"]For Each[/COLOR][/COLOR] objItem [COLOR="Navy"]In[/COLOR] objCalendarStudium.Items
        [COLOR="Navy"]With[/COLOR] objItem
            [COLOR="Green"]' Wurde einem Termin schon die Sonder-Kategorie zugewiesen,
            ' dann überspringen, um doppelte Kopien zu vermeiden[/COLOR]
            syncKat = InStr(1, .Categories, "Synchronisierung", vbTextCompare)
            [COLOR="Navy"]If[/COLOR] syncKat = [COLOR="Navy"]False Then[/COLOR]
                [COLOR="Green"]' Jeden passenden Termin kopieren[/COLOR]
                [COLOR="Navy"]Set[/COLOR] objItemCopied = .Copy
                [COLOR="Green"]' Dem kopierten Termin eine Kategorie hinzufügen und speichern[/COLOR]
                objItemCopied.Categories = objItemCopied.Categories & "; Synchronisierung"
                objItemCopied.Save
                [COLOR="Green"]' Den kopierten Termin in den Hauptkalender verschieben[/COLOR]
                objItemCopied.Move objCalendarKalender
                i = i + 1
                [COLOR="Navy"]Debug.Print[/COLOR] i & " " & .Categories
            [COLOR="Navy"]End If[/COLOR]
        [COLOR="Navy"]End With[/COLOR]
    [COLOR="Navy"]Next[/COLOR]
    
    [COLOR="Green"]' Warten bis manuelle Synchronisierung abgeschlossen ist[/COLOR]
    VBA.Shell "C:\Program Files\Nokia\Nokia PC Suite 7\PcSync2.exe", vbNormalFocus
    MsgBox "Jetzt " & i & " Elemente synchronisieren, dann auf OK klicken.", vbInformation
    [COLOR="Navy"]Debug.Print[/COLOR] "--- OK klicken ---"
    
    [COLOR="Green"]'Führe aus, bis kein Element mehr vorkommt[/COLOR]
    [COLOR="Navy"]Do[/COLOR] 
        [COLOR="Green"]' Alle Termine im Kalender Kalender mit der Kategorie "Synchronisierung" löschen[/COLOR]
        i = 0
        [COLOR="Navy"]For Each[/COLOR] objItem2 [COLOR="Navy"]In[/COLOR] objCalendarKalender.Items
            [COLOR="Navy"]With[/COLOR] objItem2
                syncKat = InStr(1, .Categories, "Synchronisierung", vbTextCompare)
                [COLOR="Navy"]If[/COLOR] syncKat = [COLOR="Navy"]True Then[/COLOR]
                    .Delete
                    i = i + 1
                    [COLOR="Navy"]Debug.Print[/COLOR] "i " & i & " " & .Categories
                [COLOR="Navy"]End If[/COLOR]
            [COLOR="Navy"]End With[/COLOR]
        [COLOR="Navy"]Next[/COLOR]
        [COLOR="Navy"]Debug.Print[/COLOR] i & " Elemente gelöscht"
    [COLOR="Navy"]Loop While[/COLOR] syncKat = [COLOR="Navy"]True[/COLOR]
    
    MsgBox "Synchronisierung abgeschlossen", vbInformation
    [COLOR="Navy"]Set[/COLOR] objItem = [COLOR="Navy"]Nothing[/COLOR]
    [COLOR="Navy"]Set[/COLOR] objItemCopied = [COLOR="Navy"]Nothing[/COLOR]
    [COLOR="Navy"]Set[/COLOR] objCalendarKalender = [COLOR="Navy"]Nothing[/COLOR]
    [COLOR="Navy"]Set[/COLOR] objCalendarStudium = [COLOR="Navy"]Nothing[/COLOR]
    [COLOR="Navy"]Set[/COLOR] objNS = [COLOR="Navy"]Nothing[/COLOR]
    [COLOR="Navy"]Set[/COLOR] objApp = [COLOR="Navy"]Nothing[/COLOR]
    
    [COLOR="Navy"]Exit Sub[/COLOR]
ErrHandle:
    [COLOR="Navy"]Debug.Print[/COLOR] "Error: " & Err.Number & " " & Err.Description & vbCrLf
[COLOR="Navy"]End Sub[/COLOR]

Wie du siehst läuft der Algorithmus etwas anders, als bei der manuellen Methode:

- Kalender2 öffnen
- Für jeden Termin:
--- Wenn der Termin nicht die Sonderkategorie hat
----- Kopiere den Termin in den selben Kalender
----- Der Kopie die Sonderkategorie hinzufügen
----- Die Kopie in den Hauptkalender verschieben
- Manuell synchronisieren
- Hauptkalender öffnen
- Für jeden Termin:
--- Wenn der Termin die Sonderkategorie hat
----- Termin löschen

Jetzt habe ich an einer Stelle ein Problem, bei dem ich nicht weiter weiß. Wenn ich die Termine löschen möchte, die zur Kategorie gehören, werden immer nur die Hälfte der Termine gelöscht, also z.B. erst 25, dann 13, 7, 3 und dann die letzten 2 Termine. Das Problem habe ich mit Do...Loop umgangen, indem ich das Löschen solange wiederhole, bis die Kategorie nicht mehr gefunden wird. Aber wie geht es richtig?

Vor allem kriege ich noch einen Fehler, dass ein Objekt nicht gefunden wurde, wenn ich es löschen will. Dazu einfach mal On Error Resume Next auskommentieren.

Und noch einen wirklich seltsamen Fehler habe ich bekommen: Schau dir mal oben das If syncKat = False Then an. Wenn ich in jede zweite Zeile ein Debug.Print setze, kann ich sehen, dass der Code mehrmahls zwischen If und End If durchläuft, ohne den If-Block zu verlassen! :eek: Ich weiß das klingt komisch, und bestimmt hab ich was übersehen, aber so sieht es wirklich aus.

Der Code muss noch optimiert werden, aber erst mal die Fehler ausbügeln. Kannst du mir weiterhelfen?

Gruß

FeliX_22
 

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten