在DoEvents期间无法获取外部数据

时间:2015-03-19 20:14:02

标签: excel excel-vba vba

我在Excel中有一个VBA子程序,它执行DoEvents直到满足要求。在这个循环中,我需要获取外部数据和将该数据作为表导入活动工作表。当VBA代码在本节中时,我无法单击“现有连接”,我不明白为什么我不能这样做。任何人都可以向我解释为什么这是不可能的?

1 个答案:

答案 0 :(得分:2)

DoEvents允许其他应用程序运行时间,并阻止您的VBA代码锁定整个系统。 允许您与VBA主机应用程序(在本例中为Excel)进行交互,因为VBA代码当前正在执行。

来自MS documentation

  

DoEvents函数放弃宏的执行,以便操作系统可以处理其他事件。 DoEvents函数将控制从应用程序传递到操作系统。 DoEvents可能有用的一些实例包括:

     
      
  • 硬件I / O
  •   
  • 延迟循环
  •   
  • 操作系统调用
  •   
  • DDE死锁
  •   

强调我的

您可能想要调查整合“获取外部数据&进口'处理您的VBA代码。但是,它必须在之前之后 DoEvents循环,而不是在

期间发生。