我有三个xlsm文件,我想按顺序进行批处理(即a.xlms、b.xlms、c.xlms)它们包含在“c:\xlsm_batch”文件夹中我已经使用此批处理代码来运行文件,它的作品....但不保存他们或关闭他们一旦他们已经按顺序运行。(C:\xlsm_batch*.xlsm)do中%%x的@回显关闭(回显开始.. %%x开始“”/等待%%x)是否有办法将其编程到代码中(即保存每个连续XLSM文件,关闭每个连续XLSM文件,然后打开一个新的XLSM文件进行处理?)谢谢,R
368yc8dk1#
这个答案可能有点晚了,但我使用了任务调度程序、批处理文件和宏的组合,在月底打开文件,更新数据,保存和关闭,然后在另一个文件夹中保存一个副本供用户访问。
每个文件中的VBA
ActiveWorkbook.RefreshAll Application.Wait (Now + TimeValue("0:00:20")) ActiveWorkbook.Save ActiveWorkbook.Saved = True Application.Quit
批处理文件
@ECHO ON 'Open Original File Call "C:\FileStoredHere\FileName.xlsm" 'Close all open instances of Excel taskkill /f /im Excel.exe 'Copy to User Folder Copy /y C:\FileStoredHere\FileName.xlsm "\\servername\CopyFolder\FIleName.xlsm"
有一件事值得注意的是,我不能得到Map驱动器的工作副本,所以使用完整的UNC文件路径。
1条答案
按热度按时间368yc8dk1#
这个答案可能有点晚了,但我使用了任务调度程序、批处理文件和宏的组合,在月底打开文件,更新数据,保存和关闭,然后在另一个文件夹中保存一个副本供用户访问。
每个文件中的VBA
批处理文件
有一件事值得注意的是,我不能得到Map驱动器的工作副本,所以使用完整的UNC文件路径。