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

Extremely slow navigating between cells in MS Excel 2016 when a cell contains a comment or dropdown #7348

Closed
Ednunp opened this issue Jul 2, 2017 · 46 comments · Fixed by #9257
Labels
app/microsoft-office bug/regression bug p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Milestone

Comments

@Ednunp
Copy link

Ednunp commented Jul 2, 2017

when using MS office 2016 as a direct enterprise install, or MS office 365, I notice a real slow down when using ms excel and using the arrow keys to navigate between cells. Sometimes it can take up to 2 seconds to move between cells. I have seen this issue on many different types of coputer. I have attached an excell file which you can see the problem in. with office 2010, this does not appear to be an issue. sometimes there is no speech at all when moving between cells, particularly if i have entered something into a cell and then hit enter to update it. I have noticed this is particularly present when inputting numbers, which you can do by using the price column in my excel sheet i've attached. The only way to fix this seems to alt tab out of the excel window and then back in again before it starts reading the cells, all be it very slowly. Incidentely I just have it reading cell coordinates, not boarders or other information beyond the text in the cells.
I have noticed this issue for about the last 8 months using the NVDA next builds, but just haven't gotten around to reporting it. My bad.
I use Excel daily for work now so this is getting to be a real issue for me. Any help you could offer would be most appreciated and I am happy to try things to help. many Thanks.
collection.xlsx

@derekriemer
Copy link
Collaborator

derekriemer commented Jul 3, 2017 via email

@dkager
Copy link
Collaborator

dkager commented Jul 5, 2017

I'm seeing roughly a 1-second lag.
Also interesting is #5750 (comment)

@Ednunp
Copy link
Author

Ednunp commented Jul 5, 2017 via email

@michaelDCurran
Copy link
Member

It looks like Excel becomes massively slow when maximized, if the worksheet also contains one or more comments. It seems that all calls to properties on an Excel range object become 3 to 4 times slower in this situation.
A part from reporting this to Microsoft, all we can really try to do is limit the amount of object model calls we make, which is very tricky.
@Ednunp: Can you confirm that the problem goes away if you remove the comment from the collection.xlsx workbook you attached?
The comment is on cell A21. The easiest way to do this is:

  • Arrow down to a21.
  • Open the NVDA Python console by pressing NVDA+control+z
  • Paste the following text (with out the quotes) into the console and press enter: "nav.excelCellObject.worksheet.comments.item(1).delete()"
  • Close the python console with alt+f4.
  • Arrowing around the sheet should be a lot faster.
    @Qchristensen: I wonder whether you can reproduce the slow down (or lack there of) with Excel without running NVDA? E.g. is the active cell slower to change with the arrow keys? Also, does Excel choose to show any specific information (say a comments margin) when maximized as opposed to restored?

@Qchristensen
Copy link
Member

I can reproduce the slowdown when navigating a sheet which has a comment and the Excel window is maximised.

There does still seem to be some slowdown if the window is not maximised but not as much as when the window is maximised (say 1 second to start reading a cell rather than 3).

The slowdown is only on the sheet with the comment, but it seems to be the same anywhere on that sheet.

I tried with a couple of older versions of NVDA, and it seems to be something that was introduced in NVDA 2015.2. Looking back at the what's new for that version, we added a couple of things for Excel: "In Microsoft Excel, NVDA now reports when a cell has overflowing or cropped content. (#3040)
In Microsoft Excel, you can now use the Elements List (NVDA+f7) to allow listing of charts, comments and formulas. (#1987)
Support for reading charts in Microsoft Excel. To use this, select the chart using the Elements List (NVDA+f7) and then use the arrow keys to move between the data points. (#1987) "

Visually, there isn't anything extra on screen (aside from more of the ribbon) when the screen is maximised than when it is smaller. Excel doesn't display comments like Word does. The corner of a cell with comments is coloured red (in the same way a cell with a different formula to surround cells has the top left coloured green. If you hover the mouse over a cell with a comment, you get a pop up balloon with black text on yellow - very similar to the old style balloon notifications - with the comment in it (this happens whether NVDA is running or not).

The slowdown is twofold - when you press say down arrow, the border around the current cell moves down. That is slower than usual but takes say 1 second for me. Then there is the time between that and the contents of the newly focussed cell being read out, another two seconds. If you delete the comment (Press alt+r then d to delete the comment for the current cell), the situation immediately improves. There is no delay in the focus moving without NVDA running.

I went to try with Narrator, but I can't seem to get Narrator to behave at all in this new build of Windows (fast insider build 16237).

@Ednunp
Copy link
Author

Ednunp commented Jul 11, 2017 via email

@Ednunp
Copy link
Author

Ednunp commented Jul 11, 2017 via email

@michaelDCurran
Copy link
Member

michaelDCurran commented Jul 12, 2017 via email

@ehollig ehollig changed the title Extremely slow navigating between cells in MS office 2016 Extremely slow navigating between cells in MS office 2016 when a cell contains a comment Aug 6, 2017
@adlevision
Copy link

Has this issue been documented for other Office applications? I've wondered for years why NVDA goes incredibly slow when attempting to type/edit comments in MS Word 2016 (possibly 2013 as well). Sounds like it may be the same issue? There is a 2-second delay for each arrow keypress. I think that many folks who use Word are forced to do so because we work collaboratively in some way, and that generally means comments. For instance, I am a college professor and require my students to use Word so I can comment in their papers, even though I've tried everything to find an alternative. So, blind college students will need comments as well. I can plug a new issue in, since I can't find mention of it, but wanted to check here first. Can object calls really not be reduced in Office apps for NVDA? Note that Voiceover in Office Mac apps has the same problem: the more objects, the slower it goes. Jaws is far less sesseptible, somehow. Are these likely all the same type of issue?

@feerrenrut feerrenrut added bug app/microsoft-office p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority bug/regression labels Dec 20, 2017
@feerrenrut
Copy link
Contributor

Labeling this as a regression, since according to Quentins testing, this behaviour seems to have started in NVDA 2015.2. Giving a priority 2 to investigate and understand the cause of this.

@michaelDCurran
Copy link
Member

Disabling screen updating while making all the object model calls (I.e. application.screenUpdating=False) drastically improves performance. It seems that when comments or dropdown arrows are on a sheet, Excel redraws the screen for every object model call unless screen updating is disabled. This is most definitely a bug with MS Excel, but I am not having luck getting this address by Microsoft so far. We can sort of work around this by disabling screen updating during Excel cell focus events.
But currently this is causing some issues with keyboard input where if a key is sent while screen updating is disabled, Excel does not correctly update some properties for the selection.
It is also worth noting that this bug does not affect UIA, so eventually switching to UIA (at least for Excel 2016) would get around this also. It is curious though that UIA is not affected meaning that the screen redrawing is happening at quite a high level to COM.

@michaelDCurran michaelDCurran changed the title Extremely slow navigating between cells in MS office 2016 when a cell contains a comment Extremely slow navigating between cells in MS Excel 2016 when a cell contains a comment or dropdown Feb 21, 2018
@michaelDCurran
Copy link
Member

For anyone experiencing the major slowdown in Excel spreadsheets containing comments or dropdowns, please test the following try build and report back:
https://ci.appveyor.com/api/buildjobs/12py6i000i9ea4vx/artifacts/output%2Fnvda_snapshot_try-i7348-14872%2Cbdbaad79.exe

@ghost
Copy link

ghost commented Apr 26, 2018

Hi all, So I have been reading your comments, and I just had this issue with in the past week at my job. I am using office 365 and I am getting a more than 1 second delay when going between cells. I am not sure why this issue is happening, but it happened in the last official build of NBDA to. I am using the latest build of NVDA,. And the issue is seeming to get worse and worse. Like they said in earlier comments, the only way I found to get rid of it for a short time is to alt tab out of the spreadsheet and back in again.

@Neurrone
Copy link

@tayarndt This week's In Process has a suggestion that might work.

@Ednunp
Copy link
Author

Ednunp commented Apr 28, 2018 via email

@Qchristensen
Copy link
Member

Ed, the F2 unknown issue is separate from the slow navigating. It is something Microsoft have changed (if you go back and run an older version of NVDA, the problem still happens). I did publish a workaround in In-Process which is to disable the "Allow editing in cells" option in Excel's advanced options: https://www.nvaccess.org/category/in-process/

@Ednunp
Copy link
Author

Ednunp commented May 30, 2018 via email

@michaelDCurran
Copy link
Member

michaelDCurran commented May 30, 2018 via email

@LeonarddeR
Copy link
Collaborator

@michaelDCurran commented on 30 mei 2018 23:36 CEST:

Most likely the only way is to go the whole way and switch entirely to
UI automation for Excel, and stop using the Excel object model.
That is a lot of work, but seems necessary now.

What would be the priority of such a rewrite?

@Ednunp
Copy link
Author

Ednunp commented Jul 19, 2018

Apologies, I replied via email and thought my comment had been included, so am replying here. Personally for me, the priority is extremely high, because I need to use Excel on a daily basis. It seems that there are a couple of different issues happening now which may all be linked. The first I can see is that there is lag when moving between cells in 2016. This is noticeable when the cells have comments or dropdowns, or when there are many rows, for example over 100. The other issue I'm noticing, is that when you enter information in a cell and press enter to update it, nvda simply stops speaking for about a minute, at which point you can navigate around the cells again. If you need me to raise this as a sepperate issue I can do this. However, I think at present, excel 2016 is actually unusable for the most part with NVDA because of this, unless very very small sheets with the most basic data are being used. So priority would be very high I would imagine for Office support. I am happy to assist in any way I can with testing etc.

@michaelDCurran
Copy link
Member

The original plan was to focus on switching to using UI Automation. However, after speaking with Microsoft, UI Automation support is still not complete, thus I am reopening investigation on how we can work around this with our current code.

@Ednunp
Copy link
Author

Ednunp commented Jul 19, 2018

If it helps, I've done some more investigation and it does appear that the thing that really really slows down Excel is special cells, i.e. dropdown Cells. Most times you can get people to simply not use them and enter values manually, although I have noticed that when you enter text in any cell, you have to alt tab out of Excel and back in again, wiggle the cursor around to get it reading smoothly again. feel free to send anything you want testing my way. To be honest I think Excel is the only thing causing such a major issue at the moment in Office. PS I have asked my company if they can switch me to 2010 but sadly MS exchange needs Outlook 2016 so no go.

@Neurrone
Copy link

@michaelDCurran is it possible to use UIA partially, perhaps similar to how Narrator and Jaws work? Narrator seems to not lag at all in the same sheets I've tried.

@LeonarddeR
Copy link
Collaborator

One thing that might help, is making several features optional by allowing them to be disabled in the document formatting settings. I"m thinking about cropped/overflowing announcements, dropdown announcements, comments (is already there), etc.

@dkager
Copy link
Collaborator

dkager commented Jul 20, 2018

Fair point, though I would also think that dropdowns and comments are essential if you are a serious Excel user.

@Neurrone
Copy link

Agree with @dkager, being able to access those without massive lag is really important.

@zstanecic
Copy link
Contributor

zstanecic commented Jul 20, 2018 via email

@Ednunp
Copy link
Author

Ednunp commented Jul 20, 2018

Ultimately we do need to find a method of navigating large documents in Office that contain lots of comments and formatting, especially for people that use it in their jobs, as companys like mine think nothing of putting everything into Excel and filling it with dropdowns, comments, formula and lots of forms into Word. It's just a shame that each version of Office seems to make things slower and slower. If Word or Excel had the speed of Notepad, I'd be a very very happy man :)

@zstanecic
Copy link
Contributor

zstanecic commented Jul 20, 2018 via email

@Ednunp
Copy link
Author

Ednunp commented Jul 20, 2018

or 2010. that also worked well but as I say above, the issue is MS exchange has been upgraded and a lot of orgs now need Outlook 2016.

@michaelDCurran
Copy link
Member

michaelDCurran commented Jul 21, 2018

Please test the following try build: https://ci.appveyor.com/api/buildjobs/61fcgsixufesu9fe/artifacts/output%2Fnvda_snapshot_try-i7348-15623%2C235c9242.exe
Let me know if:

  1. Spreadsheets with comments and or dropdowns are faster
  2. All other spreadsheets are not majorly slower.
    Note that I would currently advise against testing this on Windows Insider builds for RS5 at the moment as another major UI Automation regression exists making Excel even slower again.

@Ednunp
Copy link
Author

Ednunp commented Jul 21, 2018

Hi Michael, thanks for the build. please find below my observations:

This was tested against Office 365 Excel build 16.0.10228.20134 32 bit

  1. All worksheets now have a lag of about 1.5 seconds when navigating between cells.
  2. passing over Dropdown cells does not appear to make the lag slower.
  3. It is not possible now to read the contents of the dropdown cell when the cell is clicked.I.e. if a cell has a yes and a no, one cannot audibly navigate to those options within the dropdown cell.
  4. When changing a dropdown or adding more information to any other cells, Excel does not lock up like it used to and NVDA carries on reading, all be it with the lag.
  5. When inserting a comment, Excel becomes unresponsive, NVDA stops reading and it is not possible to navigate around. Excel will lock up for minutes at a time in a large sheet and as yet I have found no foolproof method of releasing it so one can navigate again. I am not even sure a comment was correctly inserted, since when I hit right click m for insert comment, typed text and pressed enter, the whole program became unresponsive.

Hope this helps.

@Ednunp
Copy link
Author

Ednunp commented Aug 6, 2018

clear? has there been any thoughts on this since that last test build or anything else I should be testing? Thanks, Ed.

@michaelDCurran
Copy link
Member

michaelDCurran commented Aug 6, 2018 via email

@michaelDCurran
Copy link
Member

It seems that recent versions of Excel 2016 has a totally new comments implementation.
This new implementation in Excel does not seem to cause lag when navigating sheets.
It looks as though all that is needed to upgrade the comments is to:

  • Press NVDA's pass key through command (NVDA+f2)
  • Press shift+f2 to turn on Excel's own comment editing mode (note this is not accessible)
  • Press escape twice to exit comment editing mode.

Does this remove the lag? I am not sure in what specific build of Excel 2016 this was introduced. My build number is: 16.0.10325.20082

Note this would only solve the comments problem, not the dropdowns problem.

I am still working with Microsoft to get the original problem fixed though, as the way NvDA currently sets comments with its own comment edit dialog, still causes sheets to have the lag.

@nvaccess nvaccess deleted a comment from comanna Aug 17, 2018
@ghost
Copy link

ghost commented Aug 17, 2018 via email

@Ednunp
Copy link
Author

Ednunp commented Aug 17, 2018

Sorry but this issue has nothing to do with Excel unless I'm missing something. Can we please stay on topic? A new issue should be opened for the above.

@Ednunp
Copy link
Author

Ednunp commented Sep 3, 2018

Hi. I have just tried NVDA alpha 15933 on Excel 2010 and noticed it's a lot slwoer than it used to be. Has some fiddling to make it work in 2016 possibly affected the 2010 version/ I should say that in this instance i'm not able to deploy lots of fixes on to the 2010 machine as it is a secure laptop and I have to get permission to do this which takes a week at a time. Just thought I'd check though as I do not remember it being this slow before. It takes between 2 and 3 seconds to navigate between cells in a completely blank workbook with no information, no cells filled, no comments or dropdowns.

@Ednunp
Copy link
Author

Ednunp commented Oct 14, 2018

HI guys, very concerned that this has not been updated in a while. Excel is still fairly unusuable with large sheets, we still have to use the formula bar when editing cells with f2 which does not always work if the formula is large, we still can't add comments or use dropdowns. What is Microsoft in conjunction with NVDA doing about this please? as it's just not practical to use Excel in a work environment with office 2016. Do we expect the next version of Office to be better, has anyone tried? Does MS have a way that NVDA can read excel without being so slow?
Thanks.

Ed.

@Qchristensen
Copy link
Member

Just looking at this issue again, yes the issue is still present in Excel 365 as at 15 October 2018. Deleting the comment (Move to the cell with the comment, A21 in the originally linked workbook, press the context menu and press M for delete comment) does speed things up.

With NVDA not running there isn't a slowdown, and also turning off everything in NVDA's document formatting doesn't help (I wondered if turning off reporting of comments might help, but it turns out even turning everything in that dialog off doesn't make a difference). Also changing synthesizers (at least between Windows OneCore and eSpeak NG doesn't help.

Not related to this issue, but one thing which we did find in another issue, which affects Office 365 at least - NVDA can't read the contents of a cell when editing cells with F2, if the Excel setting "Allow editing directly in cells" is enabled. Disable that in Excel's advanced settings if you are having problems editing (Not directly related to this issue, but may help with some frustration).

@Ednunp
Copy link
Author

Ednunp commented Oct 15, 2018

Hi Quentin, thanks for the confirmation that these issues are still present. You are indeed correct that removing comments, and also dropdowns, as these are another slowdown does improve things. Excel is still very slow in large sheets of data say over 100 rows and 7 columns wide, but it does help. Sadly however many people especially in my organisation use these,a as I suspect to many others.
Turning off editing in cells doesn't help very much, yes you can use the formula bar but as I said in my post on the 14th, sometimes if the formula is too big, you can't read this and it locks up.

However, forgive me, your post doesn't mention how any of this is to be resolved. It seems to me we have a lot of issues building up in Excel that make it very hard or frustrating to use especially in an office environment, with no clear resolution path. Given these issues were first raised months ago, I'm curious to know how Microsoft and NVDA plan to work together to firstly fix them and secondly, ensure that when MS make future changes they inform NVDA before it breaks again.

In a similar vain, we now have an issue in Outlook where NVDA cannot read the auto suggest names completion box when composing emails. This has also been open for several months and seems to have been as a result of MS making changes in an update.
These issues make the programs difficult or very frustrating to use on a day to day basis which is a shame because NVDA is a fantastic screen reader with MS Office when it works properly. Is there a plan to engage with MS or have them engage more directly with NVDA to resolve any of this either in this version of Office or the upcoming versions?

Thanks.

Ed.

@Neurrone
Copy link

The same is true for Word as well, support has deteriorated to a point where it lags when editing documents that you'd encounter in a day to day office environment.

@Ednunp
Copy link
Author

Ednunp commented Oct 15, 2018

Not clear what is to be done here in that case. It seems that the relationship between NVDA and the Office devs is breaking down if this is happening or if we can't find a resolution. Surely there must be something we can do? I am going to ring the MS disability help desk today though I'm not sure how involved they can get people in these sort of generalised screen reader related matters.

@michaelDCurran
Copy link
Member

I have started rewriting Excel support so it does many calls in-process. Please test the following try build and report here on whether performance has been improved: https://ci.appveyor.com/api/buildjobs/swea0gjo30lh46rk/artifacts/output%2Fnvda_snapshot_try-excelInproc-16735%2C7b9e0012.exe

@Ednunp
Copy link
Author

Ednunp commented Feb 18, 2019

Hi. Has this now been merged into an alpha build can I try it, or do I need to download the build mentioned above?

@Joachim-Otahal
Copy link

Joachim-Otahal commented Apr 18, 2019

I found following reason which slowed quite a number of Excel 2010/2013 and 2016 installations to crawl unusable even on simple Excel sheets in a company administered by me:
Check your system control panel region for "mixed" language settings. We had set "English (Deutschland)". As soon as we set it to "English (English)" or "Deutsch (Deutsch) Excel worked fine. We guess Excel is sensitive to some combinations of date/time/currency/CSV separator settings of the OS.
Just posting my Excel "why is it so slow" solution, might help others too.
And I am posting it here since all "answers.microsoft.com" threads are locked...

@mikehudson2
Copy link

I'm not an NVDA participant but am experiencing something very like what is being described in this thread: Excel becomes very slow to scroll if a sheet contain any "notes", or any posted "comments". Did anyone get to the bottom of whether or not this is a general Excel problem; not unique to NVDA?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/microsoft-office bug/regression bug p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Projects
None yet