Ana içeriğe atla

VSTO 2008 – Kod ile Calendar New Appointment İşlemi

Uygulama geliştirirken zaman içerisinde sıklıkla kullanmış olduğumuz Office uygulamalarına uygulama tarafında işlemler yaptırmamız gerekebiliyor. Özellikle de masaüstü ve web uygulamalarında outlook uygulamasına erişebilme ihtiyacımız da sık sık gündeme gelebiliyor. Bu işlemleri de .Net bünyesinde yer alan interop.Outlook ve office isim alanları ile sorunsuzca gerçekleştirebilmemize olanak vardır.

Fakat bazı durumlarda uygulamalar üzerinde office uygulamalarına değil de Office uygulamaların içerisinde uygulamalar geliştirmek gerekebiliyor. Bu noktada yapılması gereken daha önceki yazılarımızdan da açıkladığımız gibi Visual Studio Tools for Office 2008 (VSTO 2008) yardımı ile Office 2007 System uygulamalarına add-in yazmak olacaktır.

Not: Office System 2003 için add-in yazmak istediğimizde VSTO 2005 yardımı ile uygulam geliştirmemiz gerekmektedir. Ayrıca Office System 2003 sürümünün SP1 ve SP2 sürümlerinin bilgisayarınızda kurulu olması gerekmektedir.

Biz bu yazımızda Outlook için add-in yardımı ile Calendar nesnesine nasıl kayıt eklemeye göz atacağız.

Bu aşamada yapılması gereken Visual Studio 2008 yardımı ile yeni bir proje oluşturmak olacaktır. Çalışacak olan proje şablonu ise Office tabının içerisinde yer alan Outlook 2007 add-in olacaktır.

ThisAddin.cs kod bloğunun içerisinde outlook açıldığı anda yapılacak işlemleri yapabilmeniz mümkündür. İstersenizde mainRegionForm ekleyerek outlook içerisinde istediğiniz bir menünün altında uygulamanızın çalışmasına olanak tanıyabilirsiniz. Biz işlemlerimizi outlook 'un çalışması anında yapacağız.

Visual Studio üzerinden outlook 'ta yeni bir randevu talebi yapabilmemiz için Outlook.Appointment sınıfına ait olan özellikleri kullanmamız yeterli olacaktır. Bu işlemi gerçekleştirmek için gerekli olan kod bloğu aşağıdaki gibi olacaktır.

ThisAddin.cs
Outlook.AppointmentItem newAppointment = (Outlook.AppointmentItem)this.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
newAppointment.Start = DateTime.Now.AddHours(2);
newAppointment.End = DateTime.Now.AddHours(3);
newAppointment.Location = "ConferenceRoom #2345";
newAppointment.Body ="Bla bla şirketi için grup projesidir.";
newAppointment.AllDayEvent = false;
newAppointment.Subject = "Group Project";
newAppointment.Recipients.Add("Turhal Temizer");
Outlook.Recipients sentTo = newAppointment.Recipients;
Outlook.Recipient sentInvite = null;
sentInvite = sentTo.Add("Murat Borlu");
sentInvite.Type = (int)Outlook.OlMeetingRecipientType.olRequired;
sentInvite = sentTo.Add("Hakan Bayısın");
sentInvite.Type = (int)Outlook.OlMeetingRecipientType.olOptional;
sentTo.ResolveAll();
newAppointment.Save();
newAppointment.Display(true);

Belirtmiş olduğumuz bu kod bloğunu ThisStartup olayına eklersek outlook açıldığı anda yeni bir randevu kaydını gerçekleştirecektir.

Aklınıza şöyle bir soru takılabilir. Burada yer alan bütün özelliklere kod içerisinden kayıtlar eklenmiştir. Ben dışarıdan eklenebilen bölümleri form üzerine eklemiş olduğum kontroller yardımı ile yapabilir miyim? Evet yapılabilir. Yazının başında da bahsettiğimiz üzere MainRegionForm olarak geliştirilmiş olan uygulamalarda eklemiş olduğumuz kontrolleri sanki windows form uygulaması geliştirmişiz gibi kullanbilmemiz mümkündür.

Bir sonraki yazımızda Calendara eklemiş olduğumuz kayıtları nasıl listeleyebileceğimizi inceleyemeye çalışacağız.

Umarım yararlı olabilmiştir.

Turhal Temizer

info@turhaltemizer.com

Yorumlar

Bu blogdaki popüler yayınlar

SharePoint 2010 - Content Query for Blog Posts

I hope this post will help many of you feel comfortable with using the Content Query Web Part. In this post I will walk you through the process of creating a content query web part and configuring it to show custom field types. I will also give details on how to use XSLT to stylize and format the data being pulled. I will be using the following scenario as an example. Say that you had a site collection with a top level publishing site. This publishing site would display a the most recent blog posts from all blog sites within its own site collection. To solve this problem we will use a Content Query Web Part and a customized ItemStyle.xsl using XSLT. Please note that the “SharePoint Server Publishing Infrastructure” needs to be enabled at the site collection to display the content query web part. Step 1: Add a Content Query Web Part to Page Navigate to the site that you want the blog posts to show up and click on edit page. Under Editing Tools in the Ribb

.Net 3.5 SP1 – Full Install Packages (Tam Kurulum)

.Net Framework 3.5 SP1 ‘i bilgisayarınıza kurmak istediğinizde normal şartlar altında Microsoft ‘un sitesinde 2.7 mb ‘lik bir dosya indirir ve kurulum işlemlerinizi bu dosya üzerinden yaparsınız. Ancak bu indirmiş oluğunuz dosya yaklaşık 220 mb ‘lik veriyi internetten indirerek kurulum yapmaktadır. İnternet çıkışına izin verilmeyen kurumlar ve kuruluşlar için bu durum bir sıkıntı oluşturmaktadır. Bu sebepten ötürü aşağıdaki link yardımı ile tam yükleme paketini indirdikten sonra hiç internet ihtiyacınız olmadan .Net 3.5 SP1 ‘i kurabilmeniz mümkün olacaktır. Link

Microsoft .Net Framework 3.0 & 3.5 Full Download

.Net ile yazılım geliştiricilerin özelliklede Framework 3.x ile geliştirenlerin başlıca sorunu kurulum dosyası hazırladıklarında .Net Framework ‘ü kurmak için internete bağlanmalarıdır. Çünkü kurulum dosyaları 2-3 MB arasıdır. Yavaş internet kullanıcılarında ve kurumsal şirketlerde projelerin çok ama çok geç kurulmasına sebep olmaktadır. Bu sebepten ötürü sizlere .Net 3.x Framework ‘lerin tam kurulabilir paketlerinin linklerini sizlere sunuyorum. Umarım yararlı olur. Microsoft .NET Framework 3.5 Setup 32-bit version (Boyut(Size): ~200MB Microsoft .NET Framework 3.0 Setup 32-bit Version (Boyut(Size): ~50MB) 64-bit Version (Boyut(Size): ~90MB) Herkese iyi çalışmalar, kolay kurumlar diliyorum. :)