从 Excel 文件提取 RTD(实时数据)

从 Excel 文件提取 RTD(实时数据)

我有一个 Excel 2010 文件,其中包含使用 RTD 自动更新的单元格。单元格示例:

=RTD("xxx";"yyy")

我需要每 X 分钟提取一次这些单元格的值(在 .txt 文件中)。我的 .txt 文件必须包含更新的值。

我尝试使用宏。该宏每 X 分钟导出一个 Excel 文件的 txt 文件。问题是,当宏运行时,单元格不会更新:值与启动宏之前的值相同。看起来宏禁止更新。

我能怎么做?

谢谢。

答案1

首先,转到 ExcelFile菜单,然后单击Options。在 下Formulas > Calculation Options > Workbook Calculation,选择Manual。现在,您可以向 VBA 代码添加一个简单的命令来更新单元格。此命令是Application.Calculate(或者只是Calculate)。希望这能有所帮助。

答案2

从你的问题来看,我猜测你的宏中有某种计时循环,它会等待延迟时间然后再进行记录,但宏会继续运行。

如果是这样,那么更好的方法是使用Application.OnTime允许安排宏在特定时间运行的方法。在此期间,控制权通常会返回到 excel

为了让你入门,这里有一个大纲

Sub YourSub()
    <do your logging stuff>

    if not <terminal condition> then
        Application.OnTime Now + TimeValue("XX:XX:XX"), "YourSub" 
    end if
end sub

相关内容