2015-10-29 105 views
0

嗨我需要觸發一個基於vba的值由.Net應用程序更改它的值。例如,我有以下模板 Template populated by .Net application基於單元格更改值觸發VBA Word宏

我有以下代碼需要做填充單元格(3,1)上的子字符串。

Sub Format() 
Dim Str1 As String 
Dim Str2 As String 

tbl = ActiveDocument.Tables(1) 
Str1 = tbl.Cell(3, 1).Range.Text 
Str2 = Split(Str1, " ")(0) 
tbl.Cell(3, 1).Range.Text = Str2 

End Sub 

的問題是這需要當單元格的值(1,3)從<變化>以「這是標題三」

回答

0

沒有這些語句觸發事件被觸發時,用戶在編輯Word,除非您設置Windows API鍵盤掛鉤來監視用戶正在做的所有事情。

當用戶輸入/離開表格單元格時,Word.Application對象的WindowSelectionChange事件被觸發。你可以監視它,檢查它是否通過輸入有問題的單元格觸發,如果情況設置爲布爾值。當事件顯示它離開單元格時,重置布爾值並檢查當前單元格的內容。

您只需注意監視此事件可能會影響Word應用程序的速度/效率。

相關問題