2016-04-05 4 views
0

Mein Code:Satz Cursorposition in Outlook AddIn Wort Editor range.select mit() neue E-Mail

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) 
     { 

     } 
    } 

Es ist für die Antwort arbeiten und nach vorne die Cursor-Position zu setzen, aber ich bin immer eine Ausnahme wie die Screenshot unten, wenn eine neue Mail ausgewählt wurde. Hat jemand einen Vorschlag, diesen Fehler loszuwerden?

enter image description here

+0

Zu welcher Zeit rufen Sie den obigen Code an? Welches Event? –

+0

auf neue E-Mail-Ereignis – Adarsh

+0

Vielleicht ist der Inspektor zu diesem Zeitpunkt nicht vorhanden, weil der Fehler scheint bei myMailItem.GetInspector passiert. Ich erwarte, dass wenn Sie antworten/weiterleiten, es ein neues Inspektorfenster nicht öffnet, sondern nur neue E-Mail im Outlook Explorer-Hauptfenster erstellt. Können Sie den gesamten Methodencode in Ihre Frage aufnehmen? –

Antwort

0

Word-Editor nicht vollständig durch die Zeit initialisiert wird NewIsnpector aufgerufen wird. Warten Sie, bis das Ereignis Inspector.Activate ausgelöst wird. Beachten Sie, dass es mehrfach ausgelöst wird.

Verwandte Themen