Но на самом деле с документом все в порядке. В тот момент, когда вы нажимаете на клавиатуру, чтобы ввести любую букву, буква появляется, и с этого момента документ ведет себя нормально. Если вы нажмете Ctrl+Home, курсор начнет мигать в начале документа и начнет вести себя нормально. Вы даже можете нажимать кнопки на ленточной панели, и многие действия приведут к тому, что документ снова станет доступным. Даже простые действия, такие как увеличение или уменьшение документа, решат проблему.
Поэтому мне кажется, что когда документ открывается, «фокус» перемещается туда, куда не следует, и любые из этих действий вернут его в более разумное место в документе, после чего пользователь сможет снова с ним взаимодействовать.
После некоторого расследования я обнаружил, что документы-нарушители, похоже, имеют одну общую функцию. : в них есть сноски.
Код, который мы используем для открытия документа, кажется довольно простым:
Мы создаем объект Word.Application и используйте его метод Open, чтобы открыть документ (код VB)
Код: Выделить всё
oDoc = oWApp.Documents.Open()
Код: Выделить всё
oWapp.Visible = True
oWApp.Activate()
Код: Выделить всё
If oWapp.ActiveWindow.View.SplitSpecial = Microsoft.Office.Interop.Word.WdSpecialPane.wdPaneNone Then
If oWapp.ActiveWindow.ActivePane.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdWebView Then
oWapp.ActiveWindow.ActivePane.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdPrintView
End If
Else
If oWapp.ActiveWindow.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdWebView Then
oWapp.ActiveWindow.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdPrintView
End If
End If
Код: Выделить всё
oWapp.ActiveDocument.Activate()
Когда я делаю это с документом без сносок, все ведет себя как всегда. Документ открывается и активируется, и пользователь может сразу же прокрутить и щелкнуть тело документа. Пока что похоже, что это влияет только на документы со сносками.
Мне хотелось бы найти ответы на любой из этих вопросов:
- Кто-нибудь знает, что об этом сообщалось как о проблеме с недавним обновлением Microsoft Word? (Я также задавал этот вопрос Microsoft, и если они дадут мне ответ, я опубликую его здесь)
- Если кто-нибудь сталкивался с этим раньше, есть ли способ программно обнаружить наличие сносок и выполнить какие-либо программные действия, чтобы избежать этой проблемы? Мы советовали людям «просто нажмите Ctrl+Home», но, видимо, даже такая простая инструкция для некоторых не под силу.
Подробнее здесь: https://stackoverflow.com/questions/791 ... they-hit-c