2017-12-07 13 views
1

リボンボタンクリックからOutlook予定アイテムを開く必要があります。リボンボタンからアポイントアイテムを開く方法

var item = control.Context as Inspector; 
AppointmentItem appointmentItem = item.CurrentItem as AppointmentItem; 
    if (appointmentItem != null) 
     { 
      if (appointmentItem.EntryID == null) 
      { 
       appointmentItem.Subject = "New Appointment"; 
       appointmentItem.Body = "Welcome to new appointment"; 
      } 
     } 

これは、予定ウィンドウを開く必要がありますが、それはこのコード行のようにnull参照エラーを与えている「インスペクタなど= control.Context VAR項目;」アイテムはnullです。

答えて

0

次に、XMLコードの例を示します。

<?xml version="1.0" encoding="UTF-8"?> 
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load"> 
    <ribbon> 
    <tabs> 
     <tab idMso="TabAddIns"> 
     <group id="MyGroup" 
       label="My Group"> 
          <button 
            id="btnNewAppointment" 
            label="New Appointment" 
            onAction="NewAppointment" 
            imageMso="NewAppointment" 
            size="large" 
            screentip="New Appointment" 
            supertip="Create a new appointment" 
            /> 
     </group> 
     </tab> 
    </tabs> 
    </ribbon> 
</customUI> 

次に、C#コードの例を示します。

public void NewAppointment(Office.IRibbonControl control) 
{ 
    try 
    { 
     Microsoft.Office.Interop.Outlook.Application app = Globals.ThisAddIn.Application; 
     Microsoft.Office.Interop.Outlook.AppointmentItem newAppointment = (Microsoft.Office.Interop.Outlook.AppointmentItem) 
     app.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 = "We will discuss progress on the group project."; 
     newAppointment.AllDayEvent = false; 
     newAppointment.Subject = "Group Project"; 
     newAppointment.Recipients.Add("Roger Harui"); 
     Microsoft.Office.Interop.Outlook.Recipients sentTo = newAppointment.Recipients; 
     Microsoft.Office.Interop.Outlook.Recipient sentInvite = null; 
     sentInvite = sentTo.Add("Holly Holt"); 
     sentInvite.Type = (int)Microsoft.Office.Interop.Outlook.OlMeetingRecipientType.olRequired; 
     sentInvite = sentTo.Add("David Junca "); 
     sentInvite.Type = (int)Microsoft.Office.Interop.Outlook.OlMeetingRecipientType.olOptional; 
     sentTo.ResolveAll(); 
     newAppointment.Save(); 
     newAppointment.Display(true); 
    } 
    catch (Exception ex) 
    { 
     //MessageBox.Show("The following error occurred: " + ex.Message); 
    } 
} 

ここでは、マイクロソフトHow to: Programmatically Create Appointments

+0

からの資料では、この答えはあなたの質問を解決しましたですか? – aduguid

関連する問題