Exception from Word.ApplicationClass.Activedocument all of a sudden

前端 未结 4 2034
温柔的废话
温柔的废话 2020-12-11 08:22

I have this single line of code in a Word VSTO add-in project which used to work but suddenly doesn\'t anymore:

Microsoft.Office.Interop.Word.Document doc =          


        
相关标签:
4条回答
  • 2020-12-11 08:35

    Well, rolling back to the previous version of Windows 10 (1803 in my case, apparently) fixed the issue, and I can't reproduce it at the moment, so I'll mark this as solved for now.

    While I still have no clue what exactly the deal was, I did at least learn in my research that clicking the "Check for updates" button in Windows 10 instantly makes you a beta tester for Microsoft. As in, they deliberately put you on the unstable update train, without any sort of notice, let alone a warning that you're about to install updates that they don't consider ready for release yet.

    Anyway, I hope they got some good telemetry from my many, many hours of trying everything I could think of, so that maybe the issue is fixed by the time the update is forced on me. If not, I guess I'll be back to ask the same question again. At least I'll know where to start looking for the cause.

    0 讨论(0)
  • 2020-12-11 08:48

    Microsoft has fixed the issue
    Microsoft has released an Office update to fix this issue.
    With Office Version 1902 (Build 11328.20158) the issue is fixed on my side.

    0 讨论(0)
  • 2020-12-11 08:52

    The problem seems to be triggered by the Windows 10 October 2018 Update (or November). The affected customers had special Windows regional settings: Example: "English (Switzerland)".

    Solution:
    Change the Windows regional settings format to "English (UK)" or "English (US)"

    The VBA Editor also no longer worked correctly for the affected customers (without installed add-ins). The error "Word has encountered a problem" (Visual Basic Error 5097) occurred directly during opening. The same error that occurs in C# for Application.ActiveDocument

    0 讨论(0)
  • 2020-12-11 09:01

    From my experience : when i was closing the Active Document at that time i was refreshing Ribbon Menu according to the active document. If the closing document was the Last document i wasn't able to read any property of

    Microsoft.Office.Interop.Word.Document doc = Globals.ThisAddIn.Application.ActiveDocument;

    and i was facing the same issue like you.

    whenever i close any document i check

    if(Globals.ThisAddIn.Application.Documents.Count = 1){ 
    LastActiveDocument = true;
    }
    

    And when i refresh the Ribbion Menu i check

    if(!LastActiveDocument){
    // then only read any property of Active document
    }
    
    0 讨论(0)
提交回复
热议问题