現在、VS2010 で C# を使用して MS Outlook 2010 用のアドインを開発しています。これにより、メール ID をクリックするたびに ContextMenu に追加のメニューが作成されます。そのメニューをクリックすると、対応するユーザーのポケットベル番号が表示されます。
Outlook 2010 でユーザー インターフェイスを拡張するためのこれらの手順に従いました。
住所、名、電話番号などのすべてのユーザーの詳細を取得できますが、ポケットベル番号を取得できません。
同じことについては、以下のコードを参照してください。
public void OnGetEmpIdClick(Office.IRibbonControl control)
{
try
{
Office.IMsoContactCard card = control.Context as Office.IMsoContactCard;
if (card != null)
{
MessageBox.Show(GetEmpId(card), "Employee Id", MessageBoxButtons.OK);
}
else
{
MessageBox.Show("Unable to access contact card");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private string GetEmpId(Office.IMsoContactCard card)
{
if (card.AddressType == Office.MsoContactCardAddressType.msoContactCardAddressTypeOutlook)
{
Outlook.Application host = Globals.ThisAddIn.Application;
Outlook.AddressEntry ae = host.Session.GetAddressEntryFromID(card.Address);
if ((ae.AddressEntryUserType == Outlook.OlAddressEntryUserType.olExchangeUserAddressEntry ||
ae.AddressEntryUserType == Outlook.OlAddressEntryUserType.olExchangeRemoteUserAddressEntry))
{
Outlook.ExchangeUser ex = ae.GetExchangeUser();
return ex.BusinessTelephoneNumber;
}
else
{
throw new Exception("Valid address entry not found.");
}
}
else
{
return card.Address;
}
}
ただし、Pager 番号プロパティは使用できません。これについて私を助けてください。