我正在尝试编写一个 vba 脚本来自动打开一个 excel 文件,在某个单元格中将日期增加一,然后等待 2 分钟,让所有其他字段填充当天的信息。填充其他字段后,我希望脚本关闭文件并保存为运行脚本的日期。我打算将此脚本添加到 Windows 任务管理器中,以便每天凌晨 2 点运行。到目前为止,我有这样的东西。
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("c:\Users\dr\Desktop\test.xlsx")
objExcel.Application.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(3, 2).Value = "=today()"
WScript.Sleep 120000
wb.SaveAs Format( Now(), “DD-MMM-YY”)
最佳答案
您的脚本需要打开工作簿,然后更新日期、计算(“填充其他单元格”)、保存并关闭。我的建议是不要为此使用 sleep ,而只是强制工作簿计算然后关闭它。就像@iDevlop 所说:更改 B3 中的公式是不必要的。实际显示 Excel 应用程序也是如此。
下面打开工作簿,重新计算(因此 B3 值将是今天的日期,工作簿的其余部分将相应地计算),然后保存:
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("c:\Users\dr\Desktop\test.xlsx")
objExcel.Calculate
objWorkbook.SaveAs Format( Now(), “DD-MMM-YY”)
有关
.calculate
的信息见 https://msdn.microsoft.com/EN-US/library/office/ff195517.aspx
关于excel - VBScript 打开 Excel 文件,然后执行另存为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35132469/