2017-08-09 1 views
1
private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    this.Application.DocumentOpen += 
      new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument); 

    ((Word.ApplicationEvents4_Event)this.Application).NewDocument += 
      new > Word.ApplicationEvents4_NewDocumentEventHandler(WorkWithDocument); 
} 

private void WorkWithDocument(Microsoft.Office.Interop.Word.Document Doc) 
{ 
    try 
    { 
      Word.Range rng = Doc.Range(0, 0); 
      rng.Text = "New Text"; 
      rng.Select(); 
    } 
    catch (Exception ex) 
    { 
      // Handle exception if for some reason the document is not available. 
    } 
} 

Dies ist der vollständige Code. Von dem, was ich verstehe, soll es das Add-In initiieren, überprüfen Sie, ob das Dokument verfügbar ist. Der Teil I Schwierigkeiten Verständnis haben, ist dies:Versuchen, einen bestimmten Teil des Codes von Microsoft-Tutorials in Bezug auf Word-Add-Ins zu verstehen

((Word.ApplicationEvents4_Event)this.Application).NewDocument ... 

Was ich nicht verstehe, die (Word.ApplicationEvents4_Event) ist direkt vor this.Application. Ist das eine Art von Event-Typus? Ich habe keine Ahnung.

Antwort

1

The documentation states dass es sich um eine Schnittstelle handelt, so dass der Code this.Application an diese Schnittstelle sendet.

Dokumentation für Application erklärt dies:

Dies ist eine .NET-Schnittstelle von einer COM-Co-Klasse abgeleitet, die den verwalteten Code für die Interoperabilität mit dem entsprechenden COM Objekt erforderlich ist. Verwenden Sie diese abgeleitete Schnittstelle, um auf alle Ereigniselemente der Methode, der Eigenschaft und des COM-Objekts zuzugreifen. Wenn jedoch eine Methode oder Ereignis, das Sie wollen Aktien den gleichen Namen unter dem gleichen COM-Objekt verwenden, die entsprechende primäre Schnittstelle zu werfen die Methode aufzurufen, und gegossen zu die neuesten Ereignisse Schnittstelle zu Verbinden Sie sich mit dem Ereignis. Weitere Informationen zum COM-Objekt finden Sie in diesem Thema unter . Weitere Informationen zu den Methoden- und Eigenschaftenmembern des COM-Objekts finden Sie unter _Application. Informationen zu Informationen zu den Ereignismembern des COM-Objekts finden Sie unter ApplicationEvents4_Event.

+1

Vielen Dank. – Qya

1

Zusatz Owen Antwort:

https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.applicationevents4_event.newdocument(v=office.14).aspx

ApplicationEvents4_Event.NewDocument Ereignis

Tritt ein, wenn ein neues Dokument erstellt wird.

So wird Ihre WorkWithDocument Methode aufgerufen werden, wenn ein Dokument (von Ihrem ersten Event-Abonnement) und auch wenn ein neues Dokument erstellt wird (ab dem zweiten Ereignis-Abonnement) geöffnet wird.

Die + = abonniert nur diese Ereignisse und fordert sie auf, Ihre Methode aufzurufen.

Verwandte Themen