2009-10-03 467 views
3

有沒有人知道是否有可能處理內容更改,或者更確切地說是否有這樣的事件......如果文檔內容已更改(理想地在什麼位置/範圍等),會通知我?VSTO:Word Doc內容/文本更改事件?

+0

好吧,有一個DocumentChange事件會在創建新文檔時觸發,我看了一下Word 2k7對象模型,並沒有什麼類似於你所尋找的東西 當你想到它,如果它們是一個,它會一直觸發,所以根據定義,它們不是一個,因爲系統會變得沒有反應,因爲事件氾濫。 希望有所幫助。 鮑勃。 – 2009-10-03 15:25:24

+0

只需檢查下面的答案是否解決了您的問題,或者您需要更多信息。 – 2010-01-09 22:09:22

回答

1

事件是「Application.WindowSelectionChange」,它會通知任何內容更改,但它不會通知位置/位置等更改內容 - 您將在程序中尋找您想要的內容。

+0

當進行選擇時,不會觸發此事件,並受Range對象限制。所以除非選擇完整的文檔不會觸發。 – 2009-10-06 10:08:39

+0

根據文檔,Selection對象表示 選擇表示文檔中選定(或突出顯示)的區域,或者表示選擇文檔中沒有內容時表示插入點。每個文檔窗格中只能有一個Selection對象,並且整個應用程序中只有一個Selection對象可以處於活動狀態。 – 2009-10-06 10:10:41

+0

因此,只有當選擇改變時纔會觸發,即選擇了不同的區域。 – 2009-10-06 10:11:14

1

這是不可能的了。在Office 2007及以下版本中,您可以使用智能標記並創建一個自定義智能標記,在內容更改時將其重新調入,但它們在Office 2010中被刪除:(

我認爲定時器是唯一的出路,不幸的是,如果採取這種方法,你將不得不確保你不會殺死單詞的表現。