2015-07-01 52 views
0

我正在查找用戶在電子郵件預覽窗格中選擇文本時引發的事件。例如。您正在預覽窗格中查看電子郵件並選擇一些文本。我沒有在對象引用中看到任何東西,但是這個名字空間非常大,似乎總是有一些對象在某處完成我所需要的東西,而我並不知道它。文本選定/右鍵單擊事件(Outlook 2007 VBA)

總的來說,我想要做的是看看選定的文本是否匹配模式,如果是,請在右鍵菜單中插入一個子菜單(說複製,誰是,同義詞,翻譯。 )。幫助與此將不勝感激。我相信CommandBar是「文本」,但我不確定如何通過名稱訪問此文件。

回答

0

Outlook對象模型根本不公開預覽窗格。您可以使用創意窗口搜索和Accessibility API訪問預覽窗格中的Word的文檔對象。

如果使用Redemption是一個選項,它將公開SafeExplorer對象,該對象具有ReadingPane屬性。一旦擁有Word.Document對象,就可以讀取Document.Application屬性並使用Application.WindowSelectionChange事件。所選文字可以使用SafeExplorer.ReadingPane.SelText property訪問。可以從SafeExplorer.ReadingPane.WordEditor.Application檢索Word.Application。

set sExplorer = CreateObject("Redemption.SafeExplorer") 
sExplorer.Item = Application.ActiveExplorer 
MsgBox sExplorer.ReadingPane.SelText 
+0

謝謝德米特里。標記爲答案,因爲我認爲這是最接近的。 不幸的是,使用Redemption不是一個選項,因爲這將分佈在團隊範圍內,而且我沒有管理員對機器的訪問權限。沒有註冊表的Redemption,這很酷,但我認爲我應該遠離這種解決方法。我將不得不探索在新項目上編程創建自定義菜單選擇/創建用戶可以粘貼到其中的輸入框等。 – JustADude

+0

可以在HKCU中安裝兌換 - 它足夠智能以檢查HKLM是否無法訪問。 RedemptionLoader並不是真正的黑客攻擊,它基本上是COM-system-light--它確實是COM的功能。 –

+0

請記住,Accessibility API仍然是一個選項。 –

0

Outlook對象模型不爲此提供任何內容。