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

从计时器sub调用时,ThisWorkbook.RefreshAll不工作

的原因可能是因为计时器sub在后台运行,而ThisWorkbook.RefreshAll是在前台运行的。ThisWorkbook.RefreshAll用于刷新工作簿中的所有数据连接和查询,如果在后台运行的计时器sub中调用该方法,可能会导致刷新操作无法正常执行。

解决这个问题的方法是使用Application.OnTime方法来调度刷新操作,确保在前台运行时调用ThisWorkbook.RefreshAll。具体步骤如下:

  1. 在计时器sub中,使用Application.OnTime方法来调度刷新操作。例如:
代码语言:txt
复制
Sub TimerSub()
    ' 延迟1秒后执行刷新操作
    Application.OnTime Now + TimeValue("00:00:01"), "RefreshData"
End Sub

Sub RefreshData()
    ' 在前台运行时执行刷新操作
    ThisWorkbook.RefreshAll
End Sub
  1. 在需要刷新数据的地方调用计时器sub。例如,在Workbook_Open事件中调用计时器sub:
代码语言:txt
复制
Private Sub Workbook_Open()
    ' 调用计时器sub开始刷新数据
    TimerSub
End Sub

这样,当工作簿打开时,计时器sub会被调用,然后在1秒后执行刷新操作,确保在前台运行时调用ThisWorkbook.RefreshAll。

关于ThisWorkbook.RefreshAll的概念,它是Excel VBA中的一个方法,用于刷新工作簿中的所有数据连接和查询。它的优势是可以一次性刷新所有数据,提高数据更新的效率。适用场景包括需要定期更新数据的报表、数据分析等。

腾讯云相关产品中,可以使用云服务器(CVM)来运行包含Excel VBA代码的工作簿,并使用云数据库(CDB)来存储数据。具体产品介绍和链接如下:

  • 云服务器(CVM):提供弹性计算能力,支持多种操作系统和应用场景。产品介绍链接
  • 云数据库(CDB):提供高性能、可扩展的数据库服务,支持多种数据库引擎。产品介绍链接

请注意,以上只是示例,实际选择使用的产品应根据具体需求进行评估和选择。

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

相关·内容

病毒丨熊猫烧香病毒分析

5.2、sub_40D18C分析进入此函数,一共有三个函数:5.2.1、创建线程:进入回函数sub_40A48C:这里是一个循环执行,然后遍历目录创建Desktop.ini的线程。...5.3、sub_40D088:这个函数里面有6个计时器,咱一个一个分析:5.3.1、第一个计时器里面有些函数是我根据分析+猜测修改的名称,以My开头,根据注册表路径信息可以看到,这里是进行了自启动注册表修改...5.3.2、第二个计时器一直跟进去,直到跟进一个创建线程回函数里面:可以看到就是简单的网络下载东西然后创建文件,最后启动。...5.3.3、第三个计时器进第一个回函数,一直跟进去发现和之前的是一样的,就是下载,创建,启动。跟进第二个回函数:可以看到这里是通过cmd中断所有网络连接,删除网络共享。...5.3.4、第四个计时器一直跟进去,到最后是sub_406E44:根据分析我对里面的函数都进行了重命名,都是删除注册表值,关闭服务等内容,这里是关闭了杀软。

4.5K30

ROS2机器人编程简述humble-第二章-Executors .3.5

执行器使用底层操作系统的一个或多个线程来调用订阅、计时器、服务服务器、动作服务器等对传入消息和事件的回。...为了抵消中间件的QoS设置,传入消息不存储在客户端库层的队列中,而是保留在中间件中,直到回函数处理该消息。(这是与ROS 1的一个关键区别。)...等待集还用于检测计时器何时过期。 单线程执行器也被容器进程用于组件,即在创建和执行节点时没有显式主函数的所有情况下。...因此,静态单线程执行器只能用于在初始化期间创建所有订阅、计时器等的节点。...回可能会发生优先级反转。较高优先级回可能被较低优先级回阻止。 对回执行顺序没有显式控制。 对特定主题的触发没有内置控制。 此外,在CPU和内存使用方面,执行器开销相当大。

1.4K40
  • 面向.NET开发人员的Dapr- actors 构建块

    执行操作时,Actor 会以静默方式内存中卸载。 如果某个节点出现故障,Dapr 会自动将激活的Actor 移到正常的节点。...计时器和提醒均遵循turn-based 的访问模型。 当计时器或提醒触发时,直到任何其他方法调用或计时器/提醒回完成后才会执行回。...触发计时器时要调用的方法的名称。 要传递给回方法的状态。 首次调用回方法之前要等待的时间。 回方法调用之间的时间间隔。...请记住,计时器不会重置Actor空闲计时器。 当actor 上未进行其他调用时,可能会停用该Actor,并且计时器将自动停止。 若要计划重置空闲计时器工作,请使用我们接下来将查看的提醒。...Actor 支持计时器和提醒来调度将来的工作计时器不会重置空闲计时器,并且允许Actor 在未执行其他操作时停用。 提醒会重置空闲计时器,并且也会自动保留。

    1K40

    揭开 JavaScript 事件循环的神秘面纱

    它允许 Javascript 在阻塞主线程的情况下处理诸如从服务器获取数据、发出 HTTP 请求和处理用户事件等任务。...了解事件循环的工作原理对于编写高效和高性能的代码至关重要。...当一个函数被调用时,它被添加到堆栈中,当它返回时,它被堆栈中删除。...任务队列:任务队列(也称为回队列)保存准备好由事件循环处理的任务。当相关的异步操作完成时,这些任务就会入队。异步操作,例如计时器、用户事件和网络请求,由 Web API 处理。...此 Web API 会将计时器设置为设置为setTimeout(此处我们已给出0ms)的值,一旦时间完成,setTimeoutWeb API 会将回发送到任务队列。

    28240

    息息相关的 JS 同步,异步和事件轮询

    使用异步 (如 回函数、promise、async/await),可以不用阻塞主线程的情况下长时间执行网络请求。 了解异步的工作方式之前,咱们先来看看同步是怎么样工作的。...当遇到对first()的调用时,它会被推送到堆栈的顶部。 接下来,console.log('Hi there!')被推送到堆栈的顶部,当它完成时,它会堆栈中弹出。...之后,first()函数完成,因此堆栈中删除它。 程序在这一点上完成了它的执行,所以全局执行上下文(main())堆栈中弹出。 异步 JS 是如何工作的?...同时,计时器已经过期,现在回被推送到消息队列。但是回不会立即执行,这就是事件轮询开始的地方。 事件轮询 事件轮询的工作是监听调用堆栈,并确定调用堆栈是否为空。...此时,回已经完成,因此堆栈中删除它,程序最终完成。 消息队列还包含来自DOM事件(如单击事件和键盘事件)的回

    9.8K31

    系统解读CPU 隔离:Full Dynticks 深探

    时钟中断服务的替代方案 如前文所述,定时的一次性事件(计时器)或周期性事件(调度程序、计时、RCU 等)的几个子系统需要时钟中断 。...也就是说,对于这些子系统对周期性时钟中断的依赖性,我们必须以下各种方式中选择哪些是可能且相关的: 绑定到另一个 CPU 有些工作碰巧在当前 CPU Tick 时执行,但它也可以在另一个 CPU 上执行...这些计时器很容易绑定到其他地方,但这是以运行这些未绑定工作的 CPU 投入一些额外开销为代价的。...它允许将整个工作依赖始终中断转移到一组名为“rcuog, rcuop or rcuos”的未绑定的 CPU 的内核线程。...最终,这些残余的 1 Hz Tick 会转移到未绑定的工作队列中。 这也会给运行这些工作队列的 CPU 带来更多开销。 用上下文更改事件替换轮询事件 计时器中断从中断的上下文和频率推导信息。

    81330

    【二进制安全】熊猫烧香病毒分析

    5.这些字符串可能是要使用到的API函数名(可以看出程序可能会进行网络通信,通过网络进行感染,枚举进程或线程,设置计时器等一系列操作) 0x04初步分析 1.下面字符串可能是 windows...13.回函数的主要操作为获得驱动器盘符数,再对全部驱动盘进行全面感染(可感染的文件),sub_4094A4是遍历一个驱动盘内所有可感染文件并进行感染的功能函数。 ? ?...20.感染完文件后,代码会执行到设置计时器函数,这里定时调用TimerFunc函数、在这个函数中,会生成自启动autorun.inf以及病毒复制体setup.exe。...工作原理与之前分析相识,这里我们不在赘述。 ? ? 21.InfectOtherFile中sub_40BD08会执行如下代码,目的是通过局域网对同一局域网的其他电脑进行感染。...24.CloseAntiSoftware->sub_4062C8 ? 25.第二个时钟回函数:第二个时钟定时会创建线程,线程用于指定网址下载程序并运行。 ?

    3.1K30

    一张图带你搞懂Node事件循环

    这将涉及到操作系统的知识,暂时表。 本次只介绍JS主线程中,Node的运作流程。Node的其他线程暂时也扩展。 事件循环图 说好的一张图,也卖关子。下边这张图搞清楚了,事件循环就学会了。...timers队列的工作原理 timers并非真正意义上的队列,他内部存放的是计时器。 每次到达这个队列,会检查计时器线程内的所有计时器计时器线程内部多个计时器按照时间顺序排序。...如果其他队列也都没有回,则持续在poll队列等待,直到任何一个队列出现回后再进行工作。...timers队列中,暂时执行。...(0)先执行的原因是:流程timers向后走到check队列,已经有了setImmediate的回,立即执行。

    1.2K21

    深入研究 Node.js 的回队列

    队列是在后台操作完成时把回函数保存为异步操作的队列。它们以先进先出(FIFO)的方式工作。我们将会在本文后面介绍不同类型的回队列。...在完成后台操作后,它还负责向回队列添加函数。JavaScript 本身与回队列无关。同时事件循环会连续检查调用栈是否为空,以便可以队列中提取一个函数并添加到调用栈中。...那么,事件循环是按照什么样的顺序队列中选择回函数的呢? 首先,让我们看一下回队列的五种主要类型。...你肯sing希望在处理 promise 函数之前在 close 事件中执行回函数。当服务器已经关闭时,promise 函数会做些什么呢?...请记住,在执行 IO 队列中的所有的函数之后,将会立即运行检查队列回。 总结 JavaScript 是单线程的。每个异步函数都由依赖操作系统内部函数工作的 Node.js 去处理。

    3.8K10

    在 Vue 中使用lodash对事件进行防抖和节流

    总结下来,所谓的“节流”,是通过在一段时间内无视后来产生的回请求来实现的。只要一位客人叫了车,司机就会为他开启计时器,一定的时间内,后面需要乘车的客人都得排队上这一辆车,谁也无法叫到更多的车。...= this // 保留调用时传入的参数 let args = arguments // 记录本次触发回的时间 let now = +new Date...十分钟之内,如果又上来了一个乘客,司机会把计时器清零,重新开始等另一个十分钟(延迟了等待)。...直到有这么一位乘客,他上车开始,后续十分钟都没有新乘客上车,司机会认为确实没有人需要搭这趟车了,才会把车开走。...处理结果当作函数返回 return function () { // 保留调用时的this上下文 let context = this // 保留调用时传入的参数

    2K20

    为什么 Promis 比setTimeout()更快?

    Web API 是异步操作(fetch 请求、promises、计时器),回等待这里的工作完成。...事件循环 promise 立即解决,计时器立即超时。这时计时器 timeout() 被“排队”到任务队列,promise 回 resolve() 被“排队”到工作队列: ?...事件循环使 promise 回 resolve() 工作队列中出队,并将其放入调用栈中,然后调用栈执行 promise 回 resolve(): setTimeout(function timeout...Event Loop 最后,事件循环把计时器 timeout() 任务队列中移出到调用栈中。...是由于事件循环的“优先级”使任务队列(存储已实现的 promise 的回)中的任务任务队列(存储超时的setTimeout() 回)中的任务中出队。

    73320

    JS深入浅出 - requestAnimationFrame

    大多数浏览器都会对重绘操作加以限制,超过显示器的重绘频率,因为即使超过那个频率用户体验也不会有提升。因此,最平滑动画的最佳循环间隔是1000ms/60,约等于16.6ms。...特点 3.1 定时动画存在的问题 setTimeout / setInterval 不能保证回的运行时刻:计时器只能保证何时将回添加至浏览器的回队列(宏任务),不能保证回队列的运行时间,假设主线程被其他任务占用...setTimeout / setInterval 计时不精确:不同浏览器的计时器精度都存在误差,此外浏览器会对切换到后台或活跃标签页中的计时器进行限流,导致计时器计时误差。...setTimeout / setInterval 在后台运行增大 CPU 开销:当标签页处于非活跃状态,计时器仍在执行计时工作,同时刷新动画效果,增大了 CPU 开销。...早期浏览器会对切换至后台或活跃的标签页中的计时器执行限流,导致计时器时间不精确,此外计时器在后台仍会进行计时工作,执行动画任务,此时刷新动画是完全没有意义的。

    1.6K30

    简单对比 Libevent、libev、libuv

    这些只是异步事件库提供的API,封装了异步事件库跟操作系统的交互,异步事件库会选择一种操作系统提供的机制来实现某一种事件,比如利用Unix/Linux平台的epoll机制实现网络IO事件,在同时存在多种机制可以利用时...fd io fs_event 计时器(mono clock) timer timer timter 计时器(wall clock) --...-- check check 嵌套loop -- embed -- fork -- fork -- loop销毁之前的清理工作...epoll y y y 对于Unix/Linux平台,没有什么大不同,优先选择epoll,对于windows,libevent、libev都使用select检测和分发事件(I...异步架构程序设计原则 1、回函数不可以执行过长时间,因为一个loop中可能包含其他事件,尤其是会影响一些准确度要求比较高的timer。

    4K10

    在nodejs中事件循环分析

    因此,长时间运行的回可以允许轮询阶段的运行时间远远超过计时器的阈值。...当回完成时,队列中没有更多的回,因此事件循环将看到已达到最快计时器的时间点,然后回绕到计时器阶段以执行计时器的回。...在此示例中,您将看到正在调度的计时器与其正在执行的回之间的总延迟将为 105 毫秒。 pending callbacks 此阶段对某些系统操作(如 TCP 错误类型,部分是I/O事件)执行回。...node会在可以执行timer回的第一时间去执行你所设定的任务。 setImmediate()方法意义上将是立刻执行的意思,但是实际上它却是在一个固定的阶段才会执行回,即poll阶段之后。...setTimeout()和设置时间间隔的setImmediate()表现上及其相似。猜猜下面这段代码的结果是什么?

    4K00

    Actor模型是如何让编写并发系统变得更简单的?

    执行操作时,Actor 会以静默方式内存中卸载。如果某个节点出现故障,Dapr 会自动将激活的Actor 移到正常的节点。...除了在Actor之间发送消息以外,Dapr Actor模型还支持使用计时器和提醒调度将来的工作。 虽然Actor模型提供了很大的优势,但必须仔细考虑Actor的设计。...不同之处在于回注册的生存期: 只要激活Actor,计时器就会保持活动状态。计时器 不会 重置空闲计时器,因此它们不能使Actor 处于活动状态 提醒长于Actor激活。...计时器和提醒均遵循turn-based 的访问模型。当计时器或提醒触发时,直到任何其他方法调用或计时器/提醒回完成后才会执行回。...但是,借助 Dapr 执行组件构建基块,可以任何语言或平台利用执行actors 模型。 Actor 支持计时器和提醒来调度将来的工作

    1.5K20

    技巧|高效使用 JavaScript 闭包——避免 Node.js 应用程序中的内存泄漏

    使用闭包时,您在一个封闭范围内定义的数据源可供该范围内创建的函数访问,甚至在已经逻辑上退出这个封闭范围时也是如此。...“要避免内存泄漏,了解回方法何时和在多长时间内保持可访问性很重要。” 回方法处于一个可调用它的状态(也就是说,垃圾收集角度,可以访问它),所以它保持它能访问的所有数据元素处于活动状态。...激活计时器且后续回完成时,会删除事件循环中的挂起事件。所有 3 个对象都无法再访问,而且它们符合在后续垃圾收集周期中收集的条件。...清除计时器时(通过 clearTimeout 方法),会 _onTimeout 字段中删除完成函数,而且,即使由于主函数保留了对 Timeout 对象的引用而保留了该对象,(只要不再发生对该函数的其他引用...在此模式下,自然的执行流程使内存仅保留到完成处理函数 (C1) 将其 “完成” 该方法 (M1) 的工作处理完之时。结果是(只要及时完成应用程序调用的方法)您不需要特别注意避免内存泄漏。

    1.9K20

    Android Jetpack - ViewModel

    ViewModel 会你第一次创建(通常在 onCreate 时)直到此 Activity 完成并销毁,Activity 在生命周期中可能会多次销毁创建 ,但 ViewModel 始终存活 如何使用...cm.start() } } 3、在 UI 控制器中使用 ViewModel 我们在计时开始之前先将系统当前时间存入 viewModel.startTime 变量,而后每次 onCreate 被调用时...ViewModel 结合 LiveData ViewModel 如果结合 LiveData 来用的话就失去了它的灵魂,正如人与人之间的默契配合才能发挥出整个团队的潜能,架构组件本着开放灵活的原则,允许你单独集成使用它们其中的任何一个...Observer 接口,我们只要在 onChanged 回中将数据绑定到 TextView 即可,这就是数据驱动 �UI Observer 接口 /** * A simple callback that...* @param t The new data */ void onChanged(T t); } 运行 app,计时器正常工作并且不会因为转屏等操作重置 ?

    84720

    iOS RunLoop的介绍

    它用来接受循环中的事件和安排线程工作,并在没有工作时,让线程进入睡眠状态。 下图展示了Run Loop的模型 : ? 图中可以看出,RunLoop 是线程中的一个循环,并对接收到的事件进行处理。...线程刚创建时并没有 RunLoop,如果你主动获取,那它一直都不会有。RunLoop 的创建是发生在第一次获取时,RunLoop 的销毁是发生在线程结束时。...使用时,你需要先调用 CFRunLoopSourceSignal(source),将这个 Source 标记为待处理,然后手动调用 CFRunLoopWakeUp(runloop) 来唤醒 RunLoop...计时器触发。 为 RunLoop 到期设置的超时值。 RunLoop 显式的唤醒 通知观察者线程唤醒 处理等待事件 如果一个用户定义的计时器触发,处理计时器事件并重新启动循环。...因为计时器和输入源的观察者通知在事件发生前被通知,可能通知时间与实际发生的时间有差距。如果这些事件间的时间至关重要,你可以使用休眠和休眠到唤醒的通知来帮助你关联实际事件间的时间。

    1.2K100
    领券