Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Excel2016及びOffice365でセル内の編集時に未定義と読まれ無音になる #88

Closed
NVDAHelpDesk opened this issue Jun 14, 2018 · 31 comments

Comments

@NVDAHelpDesk
Copy link

問題の再現手順

  1. Excel2016またはExcel365を開く
  2. F2を押して、数値や文字、数式を入力する
  3. Enterキーを押して入力を確定する
  4. 再びF2を押してアイテムの編集状態にする

期待されること

「アイテムの編集」と読み上げられ入力済みの数値や文字、数式があれば読み上げられる。

実際に起きること

再びF2を押すと「未定義」と読み上げられ左右矢印を押しても無音になる

システム構成

NVDA 日本語版 2018.2jp及び2018.2jp-beta-180607m

Windows10 1803 日本語環境

Microsoft Office 2016及びOffice 365

その他の質問

PC を再起動してもこの問題は再発する
はい(不具合の発生するパソコンは再起動しても同じ状態になります。)
NVDA 日本語版 2018.1jp でも再現する
不明

備考
NVDAヘルプデスク宛ての報告で2台、NVDAヘルプデスクで保有するパソコンで1台同じ現象が確認されています。
JAWS、ナレーター、PC-Talkerでは正常に読み上げる。
2018-2issue.zip

@riku22
Copy link
Contributor

riku22 commented Jun 14, 2018

 私も以前同じような状況になったことがあり、いろいろ調べていたのですが、どうもUIオートメーションを無効にすると、ご報告のような現象が起きるようです。
 対処法としては、NVDAの「一般設定」ダイアログを開き、「UIオートメーションの有効化」にチェックを付けたあと、適宜設定を保存したうえで、NVDAを再起動して、再度操作してみてください。
 これで治ればいいんですが。
 ちなみに、ここの設定は、こちらで確認した限りだと、Excelでのセル編集読み上げのほか、Windows8.1以降でのSkypeにおける日本語入力にも影響するようです。

@nishimotz
Copy link
Member

ご報告ありがとうございます。
まだ詳しくは検証していませんが、
現在の NVDA と最近の Windows や Office は
UI オートメーションという API への移行を積極的に進めており、
これを無効にすると多くの機能が正常に動作しません。

以前から NVDA の設定ファイルには UI オートメーションを無効化する隠し機能があり、
過去にこの設定を使って NVDA 対応時の不具合を回避するアプリも登場しました。
そのまま使うと NVDA の本来の機能が正しく動かないことが懸念されたため
「UIオートメーションの有効化」
というオプションを NVDA 日本語版は独自に追加しています。

http://www.nvda.jp/nvda2018.2jp/ja/readmejp.html#toc11

@NVDAHelpDesk
Copy link
Author

NVDA 最新版とExcel2016の不具合ですが、UIオートメーションの有効化、無効化を切り替えても未定義のままで読み上げ出来ませんでした。
伝言のため、OSバージョンが不明などあいまいですみません。
野々垣美名子

@NVDAHelpDesk
Copy link
Author

野々垣美名子です。
Windows10,NVDA2018.2jp,Office365の組み合わせです。
最初にExcelを起動した時は、値が入っているセルでF2を押すと、セルの内容が読み上げられました。
その後、UIオートメーションの有効化のチェックを外すと、値が入っているセルでF2を押すと未定義しか言わなくなりました。
その後、何をしても同じ操作で未定義しか言わなくなりました。
何をしても、の一覧は下記です。

UIオートメーションの有効化にチェックを入れてNVDA再起動
Excelの再起動
Excelが閉じた状態でUIオートメーションの有効化にチェックを入れてNVDA再起動
Windows再起動
NVDAのアンインストール、2018.2jpのインストール
NVDAのアンインストール、Roamingフォルダ内のnvdaフォルダの削除、2018.2jpのインストール

最初に読んだ時の状態を保存しておけば良かったのですが、保存していなかったため復元出来ません。

最初は2018.2jpでした。2018.1jpで更新通知を受けて更新した状態でした。

@NVDAHelpDesk
Copy link
Author

野々垣美名子です。
2018.1.1jp.exeと、2017.1jp.exeをダウンロードしてダブルクリックし、動作を継続でNVDAを使い続け、Excelを起動して、値を入力して確定後、F2を押しても、未定義としか読まれませんでした。

@nishimotz
Copy link
Member

ログに "UIA not available“ が表示されているかどうか、確認できますか?

@NVDAHelpDesk
Copy link
Author

UIに関係ありそうなログは、次の行が1箇所です。
INFO - _UIAHandler.UIAHandler.MTAThreadFunc (07:29:58.303):
UIAutomation: IUIAutomation5
但し、Roamingのnvdaフォルダを削除した後古い物に戻したりしたので、いつの物かが今一つわかりません。
野々垣

@nishimotz
Copy link
Member

IUIAutomation5
この表示が出ていて、
それでも不具合が起きているという理解でよいでしょうか?

@minakononogaki
Copy link

不具合の状態から変わっていないので、そうなのではと思います。
UIオートメーションのオンオフをもう一度やって、両方のログを見た方が良いかもしれないですのでやってみます。
個人アカウントに切り替えました。
野々垣美名子

@minakononogaki
Copy link

UIオートメーションのオンオフ後の動作は次のようになりました。
ログでオンオフが切り替わっているようですが、ExcelでのF2の時の不具合はどちらでも出ています。

動作
UIオートメーションのチェック外す
Windows再起動
NVDA起動
ログ
UIA not available
Excel 値入りセル F2 未定義(不具合のまま)

UIオートメーションのチェック付ける
Windows再起動
NVDA起動
ログ
INFO - _UIAHandler.UIAHandler.MTAThreadFunc (09:02:55.438):
UIAutomation: IUIAutomation5
Excel 値入りセル F2 未定義 (不具合のまま)

@TetsuroOkane
Copy link

岡根です、こちらで取ったログにも
INFO - _UIAHandler.UIAHandler.MTAThreadFunc (15:42:35.882):
UIAutomation: IUIAutomation5
INFO - core.main (15:42:36.453):
と表示があります。
そして、UIオートメーションの有効化無効化共にF2を押しても未定義のまま不具合が出る状態は変化無しです。

@nishimotz
Copy link
Member

まだ報告された現象を再現できていません。

NVDA version 2018.3jp-beta-180614j インストール環境
Excel 2013 および Office 365 版 Excel
Windows 10 version 1803
で確認しましたが
UIAutomation: IUIAutomation5
と表示されており、F2 で入力済みの値を報告しています。

@nishimotz
Copy link
Member

NVDA 2018.2 の新機能ですが、
NVDA メニュー
COM 登録の修復を実行
これを実行すると何か効果があるでしょうか?

他のスクリーンリーダーでは正常だと言われているので関係ないような気もしますが。

@TetsuroOkane
Copy link

その状態で、一度UIオートメーションを無効化して、未定義と読む状態になってから、再びUIオートメーションを有効化した時の挙動はどうなりますでしょうか?
明日、2018.3jp-beta-18614j使用での動作検証も出来ると思いますので、こちらでも試して結果を報告いたします。

@nishimotz
Copy link
Member

再現しました。
確かに UI オートメーションを有効にし直しても期待通りに動作していないようです。
もう少し調べてみます。

@nishimotz
Copy link
Member

Windows 再起動すると Excel 2013 は正常に戻ったけど 365 は正常化しない。

ログ記録レベル 警告 で F2 を押した場合

DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:36.117):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 510 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - NVDAObjects.window.excel.ExcelBase._getDropdown (10:19:36.380):
Could not locate dropdown list in previous objects
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:36.680):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 522 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:36.680):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 516 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:38.180):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 534 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:38.180):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 536 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:39.278):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 540 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:39.278):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 546 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:39.279):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 544 and childID 0: [Error -2147467259] エラー
DEBUGWARNING - NVDAObjects.window.excel.ExcelBrowseModeTreeInterceptor._get_isAlive (10:19:39.355):
could not compare sheet names
Traceback (most recent call last):
  File "NVDAObjects\window\excel.pyo", line 452, in _get_isAlive
  File "comtypesMonkeyPatches.pyo", line 35, in new__getattr__
  File "comtypes\client\lazybind.pyo", line 168, in __getattr__
  File "comtypes\automation.pyo", line 729, in _invoke
COMError: (-2147418111, '\x8c\xc4\x82\xd1\x8fo\x82\xb5\x90\xe6\x82\xaa\x8c\xc4\x82\xd1\x8fo\x82\xb5\x82\xf0\x8b\x91\x94\xdb\x82\xb5\x82\xdc\x82\xb5\x82\xbd\x81B', (None, None, None, 0, None))
DEBUGWARNING - IAccessibleHandler.accessibleObjectFromEvent (10:19:39.380):
oleacc.AccessibleObjectFromEvent with window 134142, objectID 548 and childID 0: [Error -2147467259] エラー

@minakononogaki
Copy link

多分上2つのnishimozさんの書き込みに関連すると思います。
設定のUIオートメーションをいじる前の状態だと思います。
F2での不具合、未定義と読むがなくなりました。
手順
Windows10のリフレッシュ (個人データ残す方で)
NVDA2018.2jpのインストール
Office365のインストール
Excelの起動
セルに値を入力後F2で、アイテムの編集エディットエディットコントロールabcde と読みました。

@nishimotz
Copy link
Member

他に方法がなさそうなので私も Office 365 の再インストールをしています。

Office アプリケーションを修復する
https://support.office.com/ja-jp/article/office-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BF%AE%E5%BE%A9%E3%81%99%E3%82%8B-7821d4b6-7c1d-4205-aa0e-a6b40c5bb88b

Easy Fix ツールを使用すると Office 2013 も消えてしまった。。

@nishimotz
Copy link
Member

Easy Fix ツールでアンインストールして、
Office365 を再インストールすると元に戻りました。
もっと簡単な対応方法があればいいのですが。

似たエラーが本家で未解決になっています。
(わざとリンクにならないようにURLを示しています)

https://github.com/nvaccess/nvda/issues/6420

@minakononogaki
Copy link

確かに、リフレッシュする前にOfficeのアンインストールと再インストールだけでも良かったかもしれないです。NVDAの再インストールまでは思い付いたのですが。

@nishimotz
Copy link
Member

#89 に書きましたが、この現象が起きてしまうことを回避するために
NVDA では UIA は無効化できないようにしたいと思います。
(本家版ではもともと隠しオプションで、この現象を回避する修正が行われる見込みがない)

2018.2.1jp および 2018.3jp では nvda.ini を無視して UIA を強制的に有効化します。

Voice Popper 3 などへの対応はできなくなりますが、
新バージョンが出て2年近く経過しており、
ご理解いただきたいと思います。

@minakononogaki
Copy link

ヘルプデスクへお問い合わせいただいている方のところでは、UIオートメーションの有効化には最初からチェックが入っており、Windows10のリフレッシュ後Office2016の再インストールをしてもセル内のF2での読み上げがされないとの報告です。

環境
NVDAは2018.2jp-beta-180607m
Win10 1803
Office 2016

違うとしたら、Office365と2016というところでしょうか・・・。

@nishimotz
Copy link
Member

Easy Fix ツールでアンインストールしてから再インストールされたでしょうか?

@minakononogaki
Copy link

Windows10のリフレッシュをしてからOffice2016のインストールをしたそうです。

@nishimotz
Copy link
Member

Windows リフレッシュで Office が正しくアンインストールされるかどうかわからないので、
下記が確実と思います。

PC から Office をアンインストールする
https://support.office.com/ja-jp/article/pc-%E3%81%8B%E3%82%89-office-%E3%82%92%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8

@minakononogaki
Copy link

2016でF2で読まれることがあるかどうかを、まず確認したいなと思います。2016がある所を探して、教えていただいたアンインストールの方法も参考に試したいです。

@TetsuroOkane
Copy link

Office365及びExcel2016でセルの編集が未定義になる不具合についてのその後の検証です。
クイック修復後、オンライン修復後も未定義と読まれる場合、アンインストールしてのインストールし直ししかない状態でしたが、プロダクトキーを見える人に見てもらう必要が生じます。
自営業での業務用等ですぐにExcelを使う必要がある場合、以下の方法で回避する方法が見つかりました。

  1. Excelを起動します。
  2. Alt、F、Tと操作し、ファイルメニューの「オプション」を開きます。
    3.「詳細設定」の中の「セルを直接編集する」のチェックを外し、エンターキーを押します。

上記手順実行後に、F2を押すと、未入力セルの場合「数式バー、エディット、ブランク」、入力済みセルの場合、例として1234を入力したセルであれば「数式バー、エディット、1234」のように読み上げられます。

尚、この方法で正常に読み上げられても、「セルを直接編集する」のチェックありに戻すと、また未定義に戻る為、従来通りにセルを直接編集する方法で使うには一度アンインストールしてインストールし直す必要がある状態なので、2018.2jp正式版で不具合が出ない事が確認できるまでの応急処置のような状態です。

@nishimotz
Copy link
Member

Excel で「セルを直接編集する」をチェックなしにすると
F2 でインプレイス編集しないで数式バーにフォーカスが移動することは確認しました。

私の理解をまとめると次の通りです。

UIA を無効化した NVDA が Excel の特定のバージョンに接続すると
Excel の環境をなんらかの形で壊してしまう。
この壊れてしまった Excel 環境では、例えば「セルの直接編集」の読み上げができない。
Office を(完全にアンインストールしてから)再インストールすることで
修復できる可能性が高い。

この前提が正しいとすると、
NVDA 日本語版が Excel の環境を壊すことを防ぐ #89
壊れてしまった Excel 環境で正常に動作するように NVDA を改変することは困難
と考えています。

@NVDAHelpDesk
Copy link
Author

NVDAHelpDesk commented Sep 12, 2018 via email

@dream945
Copy link

下記の操作で編集画面のカーソル位置が読み上げられないようです。

  1. Alt H 「ホーム」 L 「条件付き書式」を開きます。

  2. タブキーで、「ルールの管理」まで移動して、エンターキーを押します。

  3. タブキーで、「新規ルール」まで移動して、エンターキーを押します。

  4. 下矢印キーで「数式を使用して書式設定セル決定」を選択します。

  5. タブキーを1会押します。

  6. F2キーを押して編集状態にします。

  7. =COUNTIF(D6,"U*") などと入力します。

  8. 左右矢印キーを押します。
     冒頭の「イコール」しか読まず、カーソル位置の確認ができません。

@nishimotz
Copy link
Member

最初に報告された問題は、直接ではありませんが #89 で対策しました。
最後のコメントは #104 と重複です。
クローズします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants