我正在尝试制作一个由Windows任务调度程序每5分钟运行一次的脚本,脚本已经完成,但有一个缺陷。脚本在本地服务器存储上的exel文件中运行宏,但我不知道如何检查someonne是否打开了文件? 实际上它应该非常简单,如果文件已经打开则跳过代码。 这样剧本就不会打扰正在处理文件的那个人。
这是我的剧本:
Option Explicit
On Error Resume Next
Test
Sub Test()
Dim XL
Dim WBK
Set XL = CreateObject("Excel.Application")
Set WBK = XL.Workbooks.Open("C:\Users\Mobilefreek\Desktop\MFT_Vnosi_Test.xlsm")
XL.Run "MFT_Izracun"
WBK.Save
WBK.Close
Set WBK = Nothing
Set XL = Nothing
End Sub
答案 0 :(得分:0)
Check if a specific Excel file is open when several Excel files are open and activate it
以上链接可能会有所帮助。
Set WshShell = WScript.CreateObject ("WScript.Shell")
if WshShell.AppActivate(ExcelFileName) = True then
XL.Run "xxxx"
else
Test
End if