C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

コンテキストに名前が存在しません。


(過去ログ 139 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■81669 / inTopicNo.1)  コンテキストに名前が存在しません。
  
□投稿者/ ta-kun (1回)-(2016/10/25(Tue) 18:54:45)

分類:[C#] 

初心者で恐れ入ります。
VisualStudio .Net 4 Outlook VSTOアドインを作成しております。
メールアドレスのTOに特定のドメインが入っていた場合はメッセージを出し送信できないようにしたいと思っております。
当初はOutlook.MailItem にてTOを取得したのですが、To: A@test.comの場合はうまく動いたのですが、To: "A" <A@test.com> の場合はAのみしかひろってくれず、Recipient を使用したのですがうまく動きません、msdnのhttps://msdn.microsoft.com/ja-jp/library/office/ff868695.aspxを参照してみたのですが・・・教えて頂いてもよろしいでしょうか?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;
using System.Windows.Forms;

namespace OutlookAddIn6
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {

            Application.ItemSend += new Outlook.ApplicationEvents_11_ItemSendEventHandler(Application_ItemSend);
        }

        public void Application_ItemSend(object Item, ref bool Cancel)
        {

            const string PR_SMTP_ADDRESS =
        "http://schemas.microsoft.com/mapi/proptag/0x39FE001E";
            Outlook.Recipients recips = mail.Recipients;

            foreach (Outlook.Recipient recip in recips)
            {
                Outlook.PropertyAccessor pa = recip.PropertyAccessor;
                string smtpAddress =
                    pa.GetProperty(PR_SMTP_ADDRESS).ToString();



                String str = recip.Name + " SMTP=" + smtpAddress;
                if (str.Contains("@test.com"))
                {
                }
                else

                {
                    MessageBox.Show("送信先を確認して下さい。",
        "確認",
        MessageBoxButtons.OK,
        MessageBoxIcon.Exclamation);
                    Cancel = true;
                }
            }


        }

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
            //注: Outlook はこのイベントを発行しなくなりました。Outlook が
            //    シャットダウンする際に実行が必要なコードがある場合は、http://go.microsoft.com/fwlink/?LinkId=506785 を参照してください。
        }

        #region VSTO で生成されたコード

        /// <summary>
        /// デザイナーのサポートに必要なメソッドです。
        /// このメソッドの内容をコード エディターで変更しないでください。
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -