Excel未响应时强关后,Excel插件消失

news2024/9/24 9:17:40

目录

我们分析一下插件消失的原因:

针对上面表现出来的2个问题,进行针对性的解决 :

1、不被关进去,是不是就没有后续的一系列的问题了,各自安好

2、保留住自动加载的行为

PS:配置受信任的位置注册列表项


这种情况常见于,excel在执行大量操作时(由插件触发的进程),程序进入未响应状态(用户看起来就是excel卡死的样样子),用户没有耐心等待下去,使用了任务管理器,强行终止进程。等重新打开excel程序之后(一般是直接打开一份excel文件,而不是打开程序里的excel主程序),excel 自制COM插件,在excel消失。

这个时候,插件基本已经进入禁用名单了(这种情况网上手动解决方法很多,这里不再赘述)。

将其从加载项-禁用的地方,放出来后,重新手动勾选COM插件前面那个勾,大概率可以复活。

但是还有一种情况,复活后,关闭excel,重新再打开excel,插件又消失了,就是插件前面那个勾的状态保持不住。

我们分析一下插件消失的原因:

1、被关进监牢(禁用项):

在强关的时候插件的进程在运行,并且在关闭的时候抛出了错误,并且被windows的安全机制检测到了,认为是因为插件导致的excel崩溃异常,然后就把该插件抓进监牢。

2、被放出来后,没有自动load

即使手动勾中 ,也没有保留加载行为

针对上面表现出来的2个问题,进行针对性的解决 :
1、不被关进去,是不是就没有后续的一系列的问题了,各自安好

要么不被检测到——暂不清楚,增加签名是否能不被抓住,或者有其他方法,如果有试过的可以评论一下。

要么有个白名单类似的东西,不让他进去。从office2013开始,注册列表项,就增加了类似的东西,增强管理员对office add-in的控制(group policy)

Support for keeping add-ins enabled

该篇文章的例子用的是outlook的,excel和word同理,将下列注册列表项的Outlook改为对应的Excel或者Word就行

Office 2013:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\Outlook\Resiliency\AddinList

Office 2016/2019/365:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Outlook\Resiliency\AddinList

该属性可以控制插件一直enabled,disabled或者configurable by the user

键为String类型 的 ProgID of the add-in  

值为0、1、2 对应的意思如下

Specify the value as follows:
0 = always disabled (blocked)
1 = always enabled
2 = configurable by the user and not blocked by the Block all unmanaged add-ins policy setting when enabled.

上面是Policy下的Resiliency项(群体项),单个程序下,也有Resiliency配置

可以有个DoNotDisableAddinList的子项,意思是,不要禁用的插件列表,在这个子项下,将插件的值配置进去

HKEY_CURRENT_USER\Software\Microsoft\Office\x.0\Outlook\Resiliency\DoNotDisableAddinList

键 DWORD类型	 值ProgID of the add-in

可配置的值为下列
A Hex value between 1 and A indicating the reason the add-in was originally disabled:
0x00000001 Boot load (LoadBehavior = 3)
0x00000002 Demand load (LoadBehavior = 9)
0x00000003 Crash
0x00000004 Handling FolderSwitch event
0x00000005 Handling BeforeFolderSwitch event
0x00000006 Item Open
0x00000007 Iteration Count
0x00000008 Shutdown
0x00000009 Crash, but not disabled because add-in is in the allow list
0x0000000A Crash, but not disabled because user selected no in disable dialog

NOTE: The x.0 placeholder represents the version of Office (16.0 = Office 2016/2019/365, 15.0 = Office 2013).

如果增加了上面2项注册列表的值,还是无法避免被抓到禁止项目里去(实际上是加载项进入了

Resiliency\DisabledItems 子项目下),可以使用bat删除DisabledItems下的值(没有办法的办法)
@echo off
setlocal

:: 删除DisabledItems下的所有值
reg delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Resiliency\DisabledItems /f
reg delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Word\Resiliency\DisabledItems /f
pause
endlocal
2、保留住自动加载的行为

勾了加载项,关闭excel后,加载项又变成没勾的状态(没有禁用),这是初始加载行为出了问题

需要去对应的插件注册列表项下,配置LoadBehavior的值

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Word\Addins\插件名字 

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Excel\Addins\插件名字

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Outlook\Addins\插件名字

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\PowerPoint\Addins\插件名字
键名 LoadBehavior 类型 REG_DWORD 

值从下列文档中按需选取

LoadBehavior 值

PS:配置受信任的位置注册列表项

Office 文件的受信任位置

参考文章:

LoadBehavior 值

Changing the Load Behavior of the ndOffice Add-ins

Enabling NetDocuments Add-ins in Office

Support for keeping add-ins enabled

Add-ins are user re-enabled after being disabled by Office programs

Can't create a Teams Meeting in Outlook because the Teams Meeting add-in has become disabled

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1706358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【K8s】专题四(1):Kubernetes 控制器简介

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号! 目录 一、基本概念 二、工作原理 三、常见类型 四、相关特性 一、基本概念 Kubernetes 控制器…

Python考试练习题---day1

1.计算2的n次幂结果的后3位 获得用户输入的一个数字N,计算并输出2的N次幂结果的后3位。 【输出样例】-----因为2的10次方等于1024 输入10输出024 ninput() print(str(2**eval(n))[-3:]) 2.分割四位正整数 例1: 编写程序,提示用户从键盘…

[Redis]String类型

基本命令 set命令 将 string 类型的 value 设置到 key 中。如果 key 之前存在,则覆盖,无论原来的数据类型是什么。之前关于此 key 的 TTL 也全部失效。 set key value [expiration EX seconds|PX milliseconds] [NX|XX] 选项[EX|PX] EX seconds⸺使用…

vscode+docker搭建迷你开发环境。制作docker镜像,并通过vscode连接后进行开发

制作自己的docker镜像,将docker镜像作为服务器,接受vscode连接 目录 1. 制作开发环境镜像 1.1 选择基础镜像 1.2 编写dockerfile 1.3 构建镜像 2. 启动镜像 3. 添加用户 3.1 查看物理机上用户信息 3.2 登录到docker中 3.3 按照物理机的用户和组…

在visual studio 2022中编译yaml-cpp 32位静态库的严重踩坑问题解决过程

使用vcpkg 引入yaml-cpp把程序调试好了,但是分发的时候不想带着yaml-cpp的动态链接库文件,所以参考网上的文章想进行程序的静态编译,关于如何编译yaml-cpp的静态库网上有很多文章,而且去看yaml-cpp的github官方说明文件人家说你啥都不干就是默认编译为静态库了,好家伙,兴…

MySQL主从复制故障:“ Slave_SQL_Running:No“ 两种解决办法

问题 今天搭建MySQL的主从复制,查看从机状态时show slave status\G,发现这个参数为NO,导致主从复制失败。 Slave_SQL_Running: No 后面上网查阅了一下资料,大概就是因为在连接支持数据库后,也就是这个命令后&#xff…

Python 应用开发:Streamlit 布局篇(容器布局)

st.columns 以并列方式插入容器。 插入若干并排排列的多元素容器,并返回一个容器对象列表。 要在返回的容器中添加元素,可以使用 with 符号(首选)或直接调用返回对象的方法。请参见下面的示例。 列只能放置在其他列的内部&…

word如何创造新的格式标题

1 效果如下:(标题命名默认音序排序) 2 创建 选中自己喜欢的标题,修改字号字体,then 3 修改 注意要点如下: 后续:以上操作可能导致后续一级标题不能折叠二级标题,目录导航栏也不能…

QListWidget详解

QListWidget详解 QListWidget 是 PyQt5 中一个方便的部件,用于创建和管理列表。它继承自 QListView,并提供了一些高级功能,使得添加和管理列表项更加简单。以下是 QListWidget 的详解,包括基本用法、主要方法和属性以及如何与其他…

张驰咨询:六西格玛培训,IT界的“福尔摩斯”

六西格玛,这个曾以制造业为背景的管理理念,如今却在IT领域大放异彩。其背后的原因,不仅仅是因为六西格玛追求零缺陷、持续改进的核心价值观与IT行业对产品质量和用户体验的极致追求不谋而合,更是因为它提供了一种全新的思维方式和…

全球首个,985重大突破!

据长江日报消息,今年7月,华中科技大学团队研发的全球首台用于肌骨的新式B超将正式进入临床阶段,刚刚完成临床、用于乳腺的B超也即将上市。 据了解,华中科技大学生物医学工程学院丁明跃、尉迟明教授团队,自2010年以来一…

调试面对面翻译小程序

调试面对面翻译小程序 文章目录 调试面对面翻译小程序预览1.拉取项目2.在微信开发者工具打开使用 微信版本要求微信同声传译插件支持功能 此demo用于学习 预览 1.拉取项目 git clone https://github.com/Tencent/Face2FaceTranslator或者(加速镜像) git …

905. 按奇偶排序数组 - 力扣

1. 题目 给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。 返回满足此条件的 任一数组 作为答案。 2. 示例 3. 分析 开辟一个数组res用来保存操作过后的元素。第一次遍历数组只插入偶数,第二次遍历数组…

【Spring-01】BeanFactory和ApplicationContext

【Spring-01】BeanFactory和ApplicationContext 1. 容器接口1.1 什么是 BeanFactory1.2 BeanFactory 能做什么? 1. 容器接口 以 SpringBoot 的启动类为例: /*** BeanFactory 与 ApplicationContext的区别*/ SpringBootApplication public class Spring…

拉普拉斯IPO:新能源产业快速发展,为低碳转型注入强劲动力

近年来,我国新能源产业快速发展,为全球绿色低碳转型注入强劲动力。国际人士认为,中国新能源产业快速发展,得益于超大规模市场优势、完整的工业体系和丰富的人力资源,得益于企业对研发创新的巨大投入,我国市…

安装PyTorch详细步骤

💥注意事项: CPU版和GPU版选一个进行安装即可 如果有Nvidia显卡,则安装cuda版本的PyTorch,如没有nvidia显卡,则安装cpu版。 目前常见的深度学习框架有很多,最出名的是:PyTorch(faceb…

5位机械工程师如何共享一台服务器算力

在数字化浪潮的推动下,算力共享技术正逐渐成为机械工程师们提升工作效率、优化资源配置的重要工具。那么五位机械工程师如何共享一台服务器算力呢? 首先,我们需要了解算力共享的基本概念。算力共享是指通过特定的技术手段,将分散…

学习笔记之——2D Gaussian Splatting(2DGS)

3DGS在辐射场重建中取得了巨大的成就,实现高质量的新视图合成和快速渲染。最近新出了3DGS的升级版本,2DGS。写下本博文记录本人学习及测试2DGS的过程,本博文仅为本人学习记录用~ Project WebsiteGithub CodeOriginal paper 原理解读 由于3D…

虚拟机报错:VMX 进程已提前退出。VMware Workstation 无法连接到虚拟机。

解决报错:VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 VMX 进程已提前退出。 解决方案:右键桌面图标进入VMware Workstation Pro的属性设置,兼容性–勾选“以管理员…

计算机找不到msvcr110.dll如何解决,总结5种简单靠谱的方法

在日常使用电脑的过程中,我们可能会遇到一些错误提示,其中之一就是“msvcr110.dll丢失”。这个错误通常会导致某些程序无法正常运行,为了解决这个问题,下面我将介绍5种有效的解决方法。 一,了解msvcr110.dll是什么 ms…