[英]Trying to understand a particular part of code from microsoft tutorials regarding Word Add-Ins
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.
}
}
這是完整的代碼。 據我了解,應該啟動加載項,請檢查該文檔是否可用。 我難以理解的部分是這樣的:
((Word.ApplicationEvents4_Event)this.Application).NewDocument ...
我不明白的是this.Application
之前的(Word.ApplicationEvents4_Event)
。 那是某種類似於事件的類型轉換嗎? 我不知道
文檔指出它是一個接口,因此代碼將this.Application
強制轉換為該接口。
應用程序文檔對此進行了解釋:
這是從COM協類派生的.NET接口,托管代碼要求該COM互類具有與相應COM對象的互操作性。 使用此派生的接口訪問COM對象的所有方法,屬性和事件成員。 但是,如果 要使用 的方法或事件 在同一COM對象下共享相同的名稱,則強制轉換 為相應的主接口以調用該方法,並強制轉換 為最新的事件接口以連接到該事件。 有關COM對象的信息,請參考本主題。 有關COM對象的方法和屬性成員的信息,請參見_Application。 有關COM對象的事件成員的信息,請參見ApplicationEvents4_Event。
除了歐文的答案:
ApplicationEvents4_Event.NewDocument事件
在創建新文檔時發生。
因此,在打開文檔時(從您的第一個事件訂閱中)以及在創建新文檔時(從您的第二個事件訂閱中),將調用WorkWithDocument方法。
+ =只是訂閱這些事件,並告訴它們調用您的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.