Microsoft Excel ActiveX Controls Disabled?

后端 未结 11 2595
死守一世寂寞
死守一世寂寞 2020-11-22 06:43

I have some Excel worksheets that use ActiveX checkboxes to control certain activity. They worked recently but today started to give errors. I was alerted to this by a col

11条回答
  •  暖寄归人
    2020-11-22 07:29

    The best source of information and updates on this issue I could find is in the TechNet Blogs » The Microsoft Excel Support Team Blog (as mentioned):

    Form Controls stop working after December 2014 Updates (Updated March 10, 2015)

    On March 2015 a hotfix was released in addition to the automated fix-it and manual instructions, and it's available on Windows Update as well.

    The latest update and fix from Microsoft: 3025036 "Cannot insert object" error in an ActiveX custom Office solution after you install the MS14-082 security update

    STATUS: Update March 10, 2015:

    Hotfixes for this issue have been released in the March 2015 Updates for Office 2007, 2010 & 2013.

    General info about the problem:

    For some users, Form Controls (FM20.dll) are no longer working as expected after installing MS14-082 Microsoft Office Security Updates for December 2014. Issues are experienced at times such as when they open files with existing VBA projects using forms controls, try to insert a forms control in to a new worksheet or run third party software that may use these components.

    https://technet.microsoft.com/en-us/library/security/ms14-082.aspx

    You may receive errors such as: "Cannot insert object"; "Object library invalid or contains references to object definitions that could not be found"; "The program used to create this object is Forms. That program is either not installed on your computer or it is not responding. To edit this object, install Forms or ensure that any dialog boxes in Forms are closed." [...] Additionally, you may be unable to use or change properties of an ActiveX control on a worksheet or receive an error when trying to refer to an ActiveX control as a member of a worksheet via code.

    Manual and additional solutions:

    Scripting solution:

    Because this problem may affect more than one machine, it is also possible to create a scripting solution to delete the EXD files and run the script as part of the logon process using a policy. The script you would need should contain the following lines and would need to be run for each USER as the .exd files are USER specific.

    del %temp%\vbe\*.exd
    del %temp%\excel8.0\*.exd
    del %appdata%\microsoft\forms\*.exd
    del %appdata%\microsoft\local\*.exd
    del %temp%\word8.0\*.exd
    del %temp%\PPT11.0\*.exd
    

    Additional step:

    If the steps above do not resolve your issue, another step that can be tested (see warning below):

    1. On a fully updated machine and after removing the .exd files, open the file in Excel with edit permissions.

    2. Open Visual Basic for Applications > modify the project by adding a comment or edit of some kind to any code module > Debug > Compile VBAProject.

    3. Save and reopen the file. Test for resolution.

    If resolved, provide this updated project to additional users.

    Warning: If this step resolves your issue, be aware that after deploying this updated project to the other users, these users will also need to have the updates applied on their systems and .exd files removed as well.

提交回复
热议问题