Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Outlook 2007 Kalender DGV o.Ä. VS 2015 RC
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

Outlook 2007 Kalender DGV o.Ä. VS 2015 RC

beantworten | zitieren | melden

Hallo zusammen,
hat mir jemand einen guten einfachen tip,
wie ich in ein ganz normales Windows Form einen freigegeben Outlook-Kalender (Exchangeserver vorhanden)
abbilden kann,
einträge tätigen kann (neue eintragen, ändern, löschen)
automatisch aktualisiert...


Neuerdings habe ich das neue Visual Studio 2015 RC aufgespielt bekommen,
hier funktionieren manche Dinge nicht mehr von alten ähnlichen Themen, die man im Netz findet...

Danke im Voraus.

Gruß
private Nachricht | Beiträge des Benutzers
wcseller
myCSharp.de - Member



Dabei seit:
Beiträge: 191

beantworten | zitieren | melden

Lustiger Post: So nach dem Motto - mach mal meine Arbeit...

Einen 'einfachen' Tipp dazu wirst Du nicht finden. Du benötigts ein Calender-Control und musst via Outlook-API oder Exchange-API auf die Informationen der Kalender zugreifen.

Und nun viel Spass beim 'google'n...
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

Naja war doch eine normale Frage,
und es geht nicht darum ob jemand "meine Arbeit" macht.
Ich frage nach einem Tip von Leuten die Profis sind,
wie man am besten an die Sache herangehen kann...

Schickst du deinen Lehrling auch googeln wenn er nach einem Tip fragt?

Danke dennoch für die Stichworte.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16152

beantworten | zitieren | melden

Ich versteh auch nicht ganz, was Du Dir für einen Tipp vorstellst.
Es gibt nichts fertiges von .NET, was Dir hier auch nur annähernd hilft.

Ich mein, wir helfen ja bei konkreten Problemen.
Aber das hört sich schon so ein wenig an wie: "Ich habe diese Anforderung, wie geht das jetzt? Ich bräuchte eine Anleitung." ;-)
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

die Stichpunkte von wcseller sind schon in die Richtung wie ich es mir erst mal vorgestellt habe.
Nur immer diese Zusatz-Aussagen
wie
geh doch googeln
wir machen nicht deine Arbeit
...
nerven

Ich such, bevor ich hier etwas poste, nach Lösungen,
wenn ich nichts finde oder ich bei manchen Dingen nur Bahnhof verstehe (bin nicht Profi)
poste ich um Rat zu suchen...

Mein falls jemand soetwas ähnliches schon gemacht / gegoogelt hat und z.B. einen Link hat ist das auch ok.

Was komplett fertiges mit copy paste einfügen will ich auch nicht, dann weiß ich nicht mal was der Code alles so anstellt...
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

hm - habe sowas schon mal gemacht. Neben Calendar-Control ist für die Suche wahrscheinlich noch "ScheduleControl" nützlich. (Ein reiner Kalender bringt dir ja nichts)

Ob die frei verfügbaren Controls was taugen kann ich dir allerdings nicht sagen, da ich DevComponents nutze. (Auch kein professioneller - das war immerhin gut bezahlbar)

Zum Zugriff auf Termine: Sofern der Exchange ≥ 2007 ist kann man die EWS Managed API verwenden, die ziemlich schnell im Vergleich zu Outlook ist - zudem auch recht komfortabel.

LG
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

Morgen Taipi88,

danke für die Info,
dann versuch ich mal mein Glück :)

Gruß
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

Hallo zusammen,

irgendwie check ich gerade was nicht mit der Erstellung eines Termins per EWS.

Ich habe eine eigene Mailbox und eine andere firmeninterne Mailbox, auf welche ich die Berechtigung besitze und diese auch im Outlook eingebunden habe.

Nun erstell ich ein Ereignis (keine Besprechung) mit Hilfe folgendes Codes:

 private void kalender_eintrag_erstellen()
        {

            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback);
            Appointment meeting = new Appointment(service);
            //service.TraceEnabled = true;
            //service.TraceFlags = TraceFlags.All;

            
            // Set the properties on the meeting object to create the meeting.
            meeting.Subject = projektnummer_aus_form1 + "--" + aktuelle_benutzer;
            meeting.Body = "Grobveranschlagte Arbeitszeit für das Projekt Seitens der Entwicklung/Konstruktion.\r\n" + 
                           "Diese Zeit kann jedoch variieren aufgrund sämtlicher Einflüsse wie (Fehlprojektierungen, Wartezeiten, Urlaubszeiten, Krankheitszeiten etc.)";
            //Zeit einstellen
            meeting.IsAllDayEvent = true;
            meeting.Start = DateTime.Now;
            meeting.End = meeting.Start.AddDays(5);

            //Erinnerung einstellen
            meeting.IsReminderSet = false;
            //meeting.ReminderMinutesBeforeStart = 60;

            // Send the meeting request
            meeting.Save(WellKnownFolderName.Calendar, SendInvitationsMode.SendToNone);
        }
Das komische ist, obwohl ich die andere firmeninterne Mailbox anspreche, bekomme ich dieses Ereignis in meine eigenen Mailbox gesetzt.
Wie bekomme ich dieses Ereignis nur in die andere Mailbox?

Ich habe über das Outlook Kategorien erzeugt (Farbe + Name)
kann ich die Kategorien je nach Name dem Ereignis zuteilen?

Danke im Voraus.

Gruß
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

da musst du noch etwas nacharbeiten.

Prinzipiell bist du als User mit deinen DefaultCredentials angemeldet - deine AutoDiscoverUrl entscheidet hier letztendlich nur mit welchem Server du kommunizierst.

Prinzipiell hast du nun 3 Optionen:
a) Du meldest dich tatsächlich als ein anderer Benutzer an
b) Du verwendet Delegation (siehe Beispiel: https://msdn.microsoft.com/EN-US/library/office/gg274408(v=exchg.80).aspx)
c) Du verwendest Impersonation (muss erst aktiviert werden und scheint generell aufwändig)

LG
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

Hallo Taipi88,

danke dir.
Werde deine Vorschläge ausprobieren.

Gruß
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

ja perfekt
nur eine Zeile angepasst :)

 meeting.Save(new FolderId(WellKnownFolderName.Calendar, "[email protected]"));

Weißt du/ihr noch zufällig, wie ich einem Ereignis einer Kategorie, welche ich über das Outlook
angelegt habe, zuteile?
also z.B.:
Termin hat Farbe blau Text Wichtig

gibt es da bei dem EWS etwas in der Richtung
meeting.Categorie = Color.blue;

Gruß
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

über Farbe nur sehr indirekt - sofern du den Namen der Kategorie kennst kannst du diese aber über appointment.Categories.Add("name"); hinzufügen.

LG
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

Hi,
ok die Kategoriennamen kenn ich.
Die Farbe funktioniert auf diesem Weg :)

Kann man die Kategorienliste nicht aus der Mailbox auslesen,
und so alle aktuellen Namen erhalten um diese dann zu setzen?

Würde Arbeit ersparen, wenn z.b. eine neue Kategorie im Outlook erzeugt wird.

Gruß
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

nimm's mir nicht übel - aber diese Frage beantwortest du bitte selbst mit der Google-Suche:
"ews get categories"...

LG
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

passt danke :)
hast mir schon viel geholfen
private Nachricht | Beiträge des Benutzers