首先,我很生疏,技能有限,因此这里的指导对我很重要。我们必须以 CSV 格式向第三方提供数据。数据必须以时间戳频繁更新。一些工作簿以 1 分钟为间隔,其他以 30/60 分钟为间隔。为了确保数据永久可用,我做了一个小批处理文件来启动 excel 文件。我们收集数据的正常方法是通过 excel。我能够通过宏以频繁的间隔(10 秒)更新数据,这要感谢谷歌先生。宏也会在打开事件时自动启动。
Private Sub Workbook_Open()
Range("A1:A1").Calculate
Application.OnTime DateAdd("s", 10, Now), "Calculate_Range"
End Sub
然而,当我尝试将其保存为 CSV 文件时,我遇到了问题 - 迄今为止找到的指南无法帮助我让此过程无人值守运行。我设法绕过了覆盖查询,但当我尝试格式确认时,它失败了。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Run "VBATest.xlsm!Calculate_Range"
ChDir "E:\PI"
ActiveWorkbook.SaveAs Filename:="E:\PI\VBATest01.xlcsv", FileFormat:=xlCSV, _
CreateBackup:=False
Application.Run "VBATest.xlsm!Calculate_Range"
End Sub
我需要完成的是:
- 自动运行 excel 文件 - 可以将批处理文件添加到调度程序以重新启动它。
- 按照预设的间隔更新值 - 我现在拥有的宏可以运行它。
- 无需干预即可自动将工作表保存为 CSV 文件(覆盖和格式兼容性)。
- 如果有其他更好的方法,请重新启动调度程序中的 excel 文件 - 批处理文件。
感谢您的反馈意见!