我有一个将数据生成到excel文件中的应用程序,之后它会自动打开excel文件。因此,我想创建批处理命令以仅在excel打开且此命令需要连续循环的情况下关闭并保存excel文件。如果该命令关闭并保存特定的excel文件,那就太好了。 这是我当前的命令:
@echo off
:start
tasklist /fi "imagename eq EXCEL.EXE" |find ":" > nul
if errorlevel 1 taskkill /f /im "EXCEL.EXE"&exit
goto start
此命令只是在不保存的情况下强制关闭excel文件,并且该文件不会循环。
答案 0 :(得分:0)
要执行此任务,需要两种类型的脚本。 批处理脚本用于检查应用程序是否正在运行,如果应用程序正在运行,则它将调用VB脚本,否则它将启动。
批处理命令:
:start
tasklist /FI "IMAGENAME eq EXCEL.EXE" 2>NUL | find /I /N "EXCEL.EXE">NUL
if "%ERRORLEVEL%"=="0" (goto Call) else (goto start)
:Call
TIMEOUT /T 5
@call cscript "C:\Temp\Test.vbs" '<--VBScript location
goto start
VBScript命令:
Option Explicit
Dim objXL, xlnormal, xlsxformat
On Error Resume Next
Set objXl = GetObject(, "Excel.Application")
xlnormal = &HFFFFEFD1 '# use this for .xls
xlsxformat = &H33 '# use this for .xlsx
On Error Goto 0
On Error Resume Next
objXL.ActiveWorkbook.Save
On Error Goto 0
objXL.Quit
On Error Goto 0