2016-04-05 11 views
0

マイコード:セットカーソルワードエディタrange.selectを使用してOutlookアドインの位置()新しいメール

public void inspectors_NewInspector(Inspector _Inspector) 
    { 
     try 
     { 
      if (_Inspector.CurrentItem is MailItem) 
      { 
       MailItem myMailItem = (MailItem)_Inspector.CurrentItem; 
       myMailItem.HTMLBody = "<html><table><tr><td>cursor</td></tr></table></html>"; 
       Inspector insp = myMailItem.GetInspector; 
       insp.Activate(); 
       Microsoft.Office.Interop.Word.Find uiFind = insp.WordEditor.Range().Find; 
       uiFind.Text = "cursor"; 
       while (uiFind.Execute()) 
       { 
        Microsoft.Office.Interop.Word.Range rng = uiFind.Parent; 
        rng.Select(); 
        rng.Text = ""; 
        break; 
       } 
      } 
     } 
     catch (System.Exception ex) 
     { 

     } 
    } 

これは、カーソル位置を設定するために、返信および転送のために働いているが、私はのような例外を取得しています新しいメールが選択されたときのスクリーンショット。誰もがこのエラーを取り除くための任意の提案がありますか?

enter image description here

+0

上記のコードを何時に呼び出していますか?どのイベントですか? –

+0

(新規メールイベントの場合) – Adarsh

+0

myMailItem.GetInspectorでエラーが発生している可能性があるため、その時点でインスペクタが存在しない可能性があります。返信/転送すると、新しいインスペクタウィンドウは開きませんが、Outlookのメインエクスプローラウィンドウに新しいメールが作成されるだけです。あなたの質問にメソッドコード全体を含めることができますか? –

答えて

0

のWordエディタが完全にNewIsnpectorが呼び出された時点で初期化されていません。 Inspector.Activateイベントが発生するまで待ちます。それは複数回発火することを覚えておいてください。

関連する問題