首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的Workbook_BeforeSave阻止Workbook_AfterSave运行

Workbook_BeforeSave和Workbook_AfterSave是Excel VBA中的两个事件,分别在保存工作簿之前和之后触发。Workbook_BeforeSave事件在保存工作簿之前执行一些操作,而Workbook_AfterSave事件在保存工作簿之后执行一些操作。

如果你发现Workbook_BeforeSave事件阻止了Workbook_AfterSave事件的运行,可能有以下几个原因:

  1. 代码逻辑错误:在Workbook_BeforeSave事件中的代码逻辑可能存在错误,导致阻止了Workbook_AfterSave事件的运行。你可以仔细检查Workbook_BeforeSave事件中的代码,确保没有错误或者不必要的阻止操作。
  2. 条件判断问题:Workbook_BeforeSave事件中的条件判断可能导致了Workbook_AfterSave事件的阻止。你可以检查条件判断的逻辑,确保条件判断的结果符合预期。
  3. 事件处理顺序问题:Workbook_BeforeSave事件和Workbook_AfterSave事件的处理顺序可能导致了阻止。你可以尝试调整事件的处理顺序,确保Workbook_AfterSave事件在Workbook_BeforeSave事件之后执行。

总结起来,如果Workbook_BeforeSave事件阻止了Workbook_AfterSave事件的运行,你需要仔细检查代码逻辑、条件判断和事件处理顺序,确保没有错误或者不必要的阻止操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

BI为什么查询运行多次?

如果查询由一个或多个其他查询引用,则独立计算每个查询(以及它依赖所有查询)。在桌面环境中,使用单个共享缓存运行数据模型中所有表单个刷新。...Caching可以减少对同一数据源多个请求可能性,因为一个查询可以受益于已针对其他查询运行和缓存相同请求。...不过,即使在此处,也可以获取多个请求,因为数据源未缓存 (例如本地 CSV 文件) ,因此对数据源请求不同于由于下游操作 (可以更改折叠) 而缓存请求,缓存太小 (相对不太可能) , 或因为查询大致同时运行...在云环境中,每个查询都使用自己单独缓存进行刷新,因此查询无法受益于已为其他查询缓存相同请求。折叠有时,Power Query折叠层可能会根据正在下游执行操作生成对数据源多个请求。...如果计算零行架构需要提取数据,则可能会出现重复数据源请求。数据隐私分析数据隐私对每个查询进行自己评估,以确定查询是否安全运行在一起。 此评估有时可能会导致对数据源发出多个请求。

5.5K10

使用PowerMockito如何阻止静态代码块运行

使用PowerMockito如何阻止静态代码块运行一、前言在进行单元测试mock静态类时候,突然出现了这个异常就很懵逼啊,无奈只能一步一步进去查找问题结果发现问题出现在静态类当中,那是肯定,...是mock了这个使用到静态方法地方才报错二、简易代码复现首先,是我们静态类package com.banmoon.utils;​import cn.hutool.core.util.RandomUtil..., 不可能为了单测去修改除测试方法以外代码逻辑比如这次PowerMockitoUtil.java,当中静态代码块虽然只是模拟。...但它在正常容器下运行就是正常且必须那么我们就得想办法绕过去了,正好PowerMockito提供了一个注解,可以帮助我们取消静态代码块执行@SuppressStaticInitializationFor...powerMockitoServiceImplUnderTest.execludeStaticCode();​ // 验证结果 Assert.assertEquals("结果:mock", string); }​}四、最后在进行code运行时候

22110
  • 为什么 Mac 运行缓慢以及如何使用CleanMyMac X修复它

    在本文中,我们将解释 MacBook 运行缓慢原因,并为您提供十个神奇修复方法,让您 MacBook 恢复速度。开始吧! 为什么 Mac 运行缓慢? 浏览器对内存要求越来越高。...10 种有保证解决方案,可加快慢速 Mac 运行速度 1.后台运行过多 如果您 Mac 无法再处理简单任务,并且您想找到“为什么 Mac 这么慢?”...如果您在完成上述工作后仍然问为什么 MacBook 这么慢,请确保您 Mac 已安装所有最新更新。 4....我们所有人都会下载一开始看起来有用且令人兴奋应用程序,但结果却使我们磁盘变得杂乱无章,而不是经常使用。 快速修复:卸载未使用应用程序 回答“为什么 iMac 这么慢?”...这就是为什么最好使用CleanMyMac X等工具清除设备上残留物。它卸载程序模块显示您有多少应用程序,并方便地将所有剩余应用程序收集在一个选项卡中。

    2.7K30

    为什么开发者不阻止破解版产生?

    此外,攻击者制造“修补程序”可以很容易地被终端用户防病毒软件标记和阻止,或者引导犯罪调查人员找到攻击者身份。 第二个选择有点棘手。...现在你知道软件是如何“破解”了。 现在来回答为什么不可能防止它。...此外,某人互联网连接可能非常昂贵或过于缓慢,使软件运行差. 那么就有一个问题了,分布式计算.。...例如,由于为每个玩家渲染每一个场景需要大量计算资源,暴雪娱乐公司永远不可能在他们服务器上完全运行魔兽世界。...那么,既然可以投入时间为软件添加一些有用东西,使其对合法用户更有效率,为什么还要浪费时间呢? B) 一些代码包可能会用防病毒软件,这显然不利于该软件市场营销。

    90130

    为什么BERT不行?

    当然了,bad case分析这块也聊了很多,多分析能发现其中端倪,知道模型需要什么,该怎么处理,再放一遍在这里,希望能好好阅读。...训练层面的分析 BERT训练其实挺多讲究,这里实验效果要保证对参数有一定要求,所以大家要多去观察训练过程暴露问题,训练过程其实就是要观测loss变化、验证集效果等问题,放置没学到、学飘了之类问题...类似的思路其实在这两篇文章里其实都有谈过: 心法利器[44] | 样本不均衡之我见 所以,很多时候你需要可能是更多地挖掘数据,从日志,从更多渠道去找,这个可能比增强本身要好。...这里背后逻辑可以参考这篇文章: 心法利器[45] | 模型需要信息提供够了吗 训练问题 针对训练问题,其实也就是一个经验问题了,多弄其实问题就会小很多,大家可以多去看各个论文使用超参,一般调差不多基本都不会有的...而文章本身输出并非是按照这个思路走,而是从一些大家经常问点深入来讨论,希望能从角度和风格来思考和回答问题。

    1.2K20

    为什么要写自己框架?

    曾几何时,觉得很兴奋,在如此短时间内就可以做到这样高度,让十分开心。开发出内容也完全符合校内应用需求。变成了一个别人眼中“大师”。 但事情并没有往想象地方发展。...但当有一天在讲授开发经验时候,当我当着大家面真的静下心来写需要展示一个类时候,以前用了这么多框架,发现在这么多人面前已经几乎写不出来一个正确类了!!...运行时候不是这边有问题就是那边出现了错误。原来在以前只想着如何使用它,如何整合别人代码,却忘了一个最最本真的东西:创造!几乎失去了编程能力,变成了电脑面前代码复制员。...于是又开始新一轮学习,看大量书籍,有一天重新打开Yii框架在当时看起来很难理解代码时候发现:居然有点明白它工作原理,知道整体架构了!...说干就干,花了一天时间就完成了基础类和代码编写,包括路由、模型类、控制类、一些基本方法都封装在里面,觉得自己简直太厉害了,居然在我看来可以完美的运行

    1.3K20

    为什么Redis这么“慢”?

    做法是我们需要把 Redis 各项运行数据监控起来,执行 info 可以拿到所有的运行数据。...可见,要想保证 Redis 高性能运行,其中涉及到 CPU、内存、网络,甚至磁盘方方面面,其中还包括操作系统相关特性使用。...下面就针对这两块,分享一下认为比较合理 Redis 使用和运维方法,不一定最全面,也可能与你使用 Redis 方法不同,但以下这些方法都是在踩坑之后总结实际经验,供你参考。...运维层面 运维层面主要是 DBA 需要关注,目的是合理规划 Redis 部署和保障 Redis 稳定运行。...总结 以上就是在使用 Redis 和开发 Redis 相关中间件时,总结出来 Redis 推荐实践方法,以上提出这些方面,都或多或少在实际使用中遇到过。

    3.6K10

    是如何一不小心阻止了勒索病毒全球蔓延

    在分析环境中运行样本后,立即注意到它访问了一个未注册域名,出于职业习惯,顺手花 8.5 英镑(约合 75 元人民币)注册了这个域名。...与此同时,在虚拟环境中再次运行样本,就可以看到勒索病毒页面; 有意思是,在加密了作为测试假文件之后,它会连接到端口 445 上随机IP地址(由 SMB 使用)。...似乎我们在不知不觉中阻止了勒索病毒扩散,这也解释了为什么他无法运行之前运行完全相同样本。...紧接着再次加载了分析环境,并运行了样本...啥事儿没有。接着,修改了主机文件,使域名无法连接,并再次运行...病毒再次开始运行。 你可能看不到一个成年男子此时激动像个两百斤孩子,那就是。...从勒索病毒第一次运行失败,然后紧接着第二次运行成功意味着我们阻止了病毒传播,并阻止了自注册域名以来病毒感染任何新电脑。 那么为什么我们 sinkhole 会阻止这场全球勒索病毒呢?

    1.6K90

    为什么HibernateDaoSupport没有注入SessionFactory

    前言 很早之前,就打算写这一篇文章了(其实有很多源码分析文章打算写,但是自己太拖延了导致很多文章搁浅了)。为什么要写这一文章呢?...事情缘由是同事在SpringBoot项目中有一个A类继承HibernateDaoSupport,但是程序运行总是抛出没有成功注入SessionFactory错误,后来debug Spring源码解决了这个问题...这个错误原因是A类RootBeanDefinition中autowireMode值为0,在AbstractAutowireCapableBeanFactory类中populateBean方法中没有执行到...return this.template; } } @Component public class MyBaseDao extends MyHibernateDaoSupport { } 3.我们运行测试用例...(这里维护是bean和bean依赖对象之间关系,也就是MyBaseDao --》 MySessionFactory)中。

    3.1K10

    为什么喜欢JavaScriptOptional Chaining

    从 ES2015 开始,对代码影响最多功能是解构、箭头函数、类和模块系统。 截至 2019 年 8 月,一项新提案 optional chaining 达到了第3阶段,这将是一个很好改进。...bigObject 在运行时可以有不同属性集: // One version of bigObject const bigObject = { // ......这就是喜欢 optional chaining 原因。 2.1 数组项 但是 optional chaining 功能可以做更多事情。...接下来任务是编写一个返回电影主角名字函数。...为什么喜欢它? 喜欢 optional chaining 运算符,因为它允许从嵌套对象轻松访问属性。它可以减少通过编写样板文件来验证来自访问器链每个属性访问器上无效值工作。

    1.2K30

    为什么 WordPress 网站被封了?

    作为站长,最不想看到就是网站被封了,封禁不仅影响网站业务,甚至会有罚款和监禁风险。...历史任务审核适用于中途接入 WordPress COS 插件站长,创建一个历史审核任务就可以扫描以往所有用到静态资源文件,避免已发布页面被封禁风险。...上述两种审核配置都支持用户自定义审核策略,通过设置自定义策略可以定制涉黄涉政等个性化场景审核;审核后支持按照指定分数范围进行冻结,智能机审+精确人审方式帮你有效避免违法内容传播;审核结果可以通过配置回调链接返回给用户...查询审核任务:通过发起任务时获取到任务ID,直接查询对应任务ID网页审核结果。审核结果中包含了审核是否成功、网页审核处理建议、违规图片和文字等。...,对存储在 COS 中图片、视频等静态资源进行多场景审核。

    3.5K50

    为什么进程被kill掉了

    运行下: ? 没啥问题,和我们预期一样,正常执行。 打开另一个终端,执行以下命令,看下它内存占用: ?...第二次执行这个程序也没问题,但奇怪是,此时第一次执行那个程序却被kill掉了: ? 这是为什么呢?...上面我们说到,该程序逻辑是分配10GiB物理内存,所以运行两次,也就是要分配20GiB物理内存。 但在我们测试机器上,物理内存一共才16GiB,所以,运行两个这样进程肯定是不行。...这也就解释了为什么上面第二次运行该程序时,mmap是没有报错。...这也就解释了,为什么上面在第二次执行那个程序时,被kill掉是第一次执行那个进程,而不是第二次执行进程,因为第一次执行那个进程,占用物理内存更大。

    2.6K51

    为什么SpringBoot jar 可以直接运行

    lib目录:放置第三方依赖jar包,比如springboot一些jar包 spring boot loader相关代码 模块自身代码 MANIFEST.MF文件内容: Manifest-Version...,当我们使用java -jar执行jar包时候会调用JarLaunchermain方法,而不是我们编写SpringApplication。...它是SpringBoot内部提供工具Spring Boot Loader提供一个用于执行Application类工具类(fat jar内部有spring loader相关代码就是因为这里用到了)...相当于Spring Boot Loader提供了一套标准用于执行SpringBoot打包出来jar Spring Boot Loader抽象一些类 抽象类Launcher:各种Launcher基础抽象类...参数是控制台传递 new JarLauncher().launch(args); } JarLauncher被构造时候会调用父类ExecutableArchiveLauncher构造方法

    1.2K41

    请教一个问题,为什么是列表格式,但是运行就报错啊?

    一、前言 前几天在Python最强王者群【黑科技·鼓包】问了一个numpy数据处理问题,一起来看看吧。 请教一个问题,为什么是列表格式,但是运行就报错啊?不允许变量赋值这个结果吗?...np.gcd.reduce(列表),简单来说需要一个输入框,输入一串字符串逗号分隔数字,用来判断公约数然后所有数值除以这个值,得到最小值,例如10,20,30结果是1,2,3 二、实现过程 这里...后来【甯同学】和【隔壁山楂】给了指导如下: 顺利地解决了粉丝问题。 但是又出现新问题了,为什么不计算结果啊?后来发现是列表处理冗余了。 这下总算欧克了。 三、总结 大家好,是皮皮。...这篇文章主要盘点了一个numpy数据处理问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。...往期精彩文章推荐: if a and b and c and d:这种代码有优雅写法吗? Pycharm和Python到底啥关系?

    11820

    当代码无法运行时候,在想什么?

    经常被问一句话就是:为什么代码无法运行?然后细看有些问题,真是让哭笑不得,比如no module name pygame…… ?...今天来谈谈运行代码遇到问题时,怎样做才是最好解决方案吧~授人以鱼不如授人以渔! 大家关注公众号下载代码运行,肯定是出于各种各样目的。...针对各类情景,做了个分析和总结,大家可以根据自己场景选择合适解决方案。 情景1:只是为了完成老师或者boss一个作业,仅此而已。...这种情景就非常简单了,只是完成任务的话,直接花点钱去某宝买个现成就行了。也没必要用代码来折磨自己,把时间花在更重要地方~ 情景2:是小白,刚接触编程,跟着文章一步一步操作最后也没成功。...这些基础问题基本上你都能找到手把手教程教你怎么去解决。再者,学会查看报错信息也是一个重要技能。 发现很多小伙伴遇到错误根本不看输出错误信息一眼,对,一眼他都不看

    1.4K30
    领券