Support NetUI controls in Excel (#20979)
### Summary of the issue:
When focusing the dynamic action button ("Chat with Copilot") in
Microsoft Excel with UIA disabled, NVDA doesn't recognise that the focus
has moved.
### Description of user facing changes:
The "Chat with Copilot" button in Excel is now accessible with NVDA.
### Description of developer facing changes:
None.
### Description of development approach:
The Copilot DAB is a `NetUIElement`, which is only accessible via UIA.
It has no window handle and no MSAA/IAccessible support.
The cause here is the same as in #12982. Thus, I've extended the
approach taken in #12988 to also apply in Excel.
`UIAHandler.UIAHandler._isNetUIEmbeddedInWordDoc`:
* Also accept the window class name "EXCEL7", which has been extracted
into its own internal-only constant
* Renamed to `_isNetUIEmbeddedInMSOffice` to better reflect its expanded
purpose
* The same rename was applied to the cache property
`UIAHandler.UIAHandler._emitMSAAFocusForWordDocIfNecessary`:
* as well as class name "_WwG" and control type Document, also accept
"XLSpreadsheetCell" and DataItem
* Renamed to `_emitMSAAFocusForMSOfficeIfNecessary` to better reflect
its expanded purpose
* Explicitly request an immediate core pump, as otherwise there may be a
several second delay before the focus event is processed if nothing else
causes one
Also tidied the imports in `source/UIAHandler/__init__.py`. It still has
a wildcard import from `comInterfaces.UIAutomationClient`, but removing
it would have involved changing hundreds of lines of code across tens of
files. I created #20985 to track removing the wildcard import.
### Testing strategy:
Running from source with
* Microsoft® Word for Microsoft 365 MSO (Version 2609 Build
16.0.20430.20032) 64-bit
* Microsoft® Excel® for Microsoft 365 MSO (Version 2609 Build
16.0.20430.20032) 64-bit
Tests:
* [x] Excel via object model:
* [x] With focus in in the worksheet, press `F6` to reach the DAB.
Verify that it is announced and can be activated with `Space`/`Enter`.
* [x] Press `Shift+F6` to return to the worksheet. Verify that the
change in focus is announced and interaction with the sheet works
correctly.
* [x] Excel with UIA:
* [x] Regression test: same as the object model tests. This already
worked correctly.
* [x] Word via object model:
* In a document with comments:
* [x] With focus in the document, press `Alt+F12` to jump to the
comments side track. Verify that the change in focus is reported and
navigation works correctly.
* [x] Press `Esc` to return to editing the document. Verify that the
change in focus is reported and interaction works correctly.
* [x] Word via UIA:
* [x] Same as object model tests.
### Known issues with pull request:
None known