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ß
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...
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.
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 - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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...
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
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("andere_mailbox@firma.de", 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ß
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
ja perfekt
nur eine Zeile angepasst 😃
meeting.Save(new FolderId(WellKnownFolderName.Calendar, "andere_mailbox@firma.de"));
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ß
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
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ß
Hi,
nimm's mir nicht übel - aber diese Frage beantwortest du bitte selbst mit der Google-Suche:
"ews get categories"...
LG