@@ -95,7 +95,8 @@ void _windowWatcher_FormulaBarWindowChanged(object sender, WindowWatcher.WindowC
9595 }
9696 else if ( e . ObjectId == WindowWatcher . WindowChangedEventArgs . ChangeObjectId . Caret )
9797 {
98- // We expect this on every text change (and it is our only detection of text changes)
98+ // We expect this on every text change
99+ // NOTE: Not anymore after some Excel / Windows update
99100 UpdateEditStateDelayed ( ) ;
100101 }
101102 else
@@ -138,8 +139,22 @@ void _windowWatcher_FormulaBarWindowChanged(object sender, WindowWatcher.WindowC
138139 case WindowWatcher . WindowChangedEventArgs . ChangeType . Hide :
139140 Logger . WindowWatcher . Verbose ( $ "FormulaEdit - FormulaBar Hide") ;
140141 break ;
142+ case WindowWatcher . WindowChangedEventArgs . ChangeType . LocationChange :
143+ if ( e . ObjectId == WindowWatcher . WindowChangedEventArgs . ChangeObjectId . Caret )
144+ {
145+ // We expect this on every text change in newer Excel versions
146+ Debug . Print ( $ "-#-#-#- Text Changed ... ") ;
147+ UpdateEditStateDelayed ( ) ;
148+ }
149+ else
150+ {
151+ Debug . Print ( $ "-#-#-#- Unexpected WindowsChanged object id: { e . ObjectId } ") ;
152+ }
153+ break ;
141154 default :
142- throw new ArgumentOutOfRangeException ( "Unexpected Window Change Type" , "e.Type" ) ;
155+ //throw new ArgumentOutOfRangeException("Unexpected Window Change Type", "e.Type");
156+ Logger . WindowWatcher . Verbose ( $ "FormulaEdit - Unexpected Window Change Type: { e . Type } ") ;
157+ break ;
143158 }
144159 }
145160
@@ -157,7 +172,9 @@ void _windowWatcher_InCellEditWindowChanged(object sender, WindowWatcher.WindowC
157172 }
158173 else if ( e . ObjectId == WindowWatcher . WindowChangedEventArgs . ChangeObjectId . Caret )
159174 {
160- // We expect this on every text change (and it is our only detection of text changes)
175+ // We expect this on every text change
176+ // NOTE: Not anymore after some Excel / Windows update
177+ Debug . Print ( $ "-#-#-#- Text Changed ... ") ;
161178 UpdateEditStateDelayed ( ) ;
162179 }
163180 else
@@ -202,8 +219,22 @@ void _windowWatcher_InCellEditWindowChanged(object sender, WindowWatcher.WindowC
202219 case WindowWatcher . WindowChangedEventArgs . ChangeType . Hide :
203220 Logger . WindowWatcher . Verbose ( $ "FormulaEdit - InCellEdit Hide") ;
204221 break ;
222+ case WindowWatcher . WindowChangedEventArgs . ChangeType . LocationChange :
223+ if ( e . ObjectId == WindowWatcher . WindowChangedEventArgs . ChangeObjectId . Caret )
224+ {
225+ // We expect this on every text change in newer Excel versions
226+ Debug . Print ( $ "-#-#-#- Text Changed ... ") ;
227+ UpdateEditStateDelayed ( ) ;
228+ }
229+ else
230+ {
231+ Debug . Print ( $ "-#-#-#- Unexpected WindowsChanged object id: { e . ObjectId } ") ;
232+ }
233+ break ;
205234 default :
206- throw new ArgumentOutOfRangeException ( "Unexpected Window Change Type" , "e.Type" ) ;
235+ //throw new ArgumentOutOfRangeException("Unexpected Window Change Type", "e.Type");
236+ Logger . WindowWatcher . Verbose ( $ "FormulaEdit - Unexpected Window Change Type: { e . Type } ") ;
237+ break ;
207238 }
208239 }
209240
0 commit comments