Excel vbscript检查文件是否打开

Excel vbscript检查文件是否打开,excel,vbscript,readfile,Excel,Vbscript,Readfile,我正在尝试制作一个脚本,该脚本将由windows任务调度器每5分钟运行一次,该脚本基本完成,但有一个缺陷。脚本在本地服务器存储上的exel文件中运行宏,但我不知道如何检查someonne是否打开了该文件? 实际上应该很简单,若文件已经打开,那个么跳过代码。 这样,脚本就不会打扰正在处理文件的任何人 这是我的剧本: Option Explicit On Error Resume Next Test Sub Test() Dim XL Dim WBK Set XL =

我正在尝试制作一个脚本,该脚本将由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 

上面的链接可能会有所帮助

Set WshShell = WScript.CreateObject ("WScript.Shell")
if WshShell.AppActivate(ExcelFileName) = True then
XL.Run "xxxx"
else
Test
End if

上面的链接可能会有所帮助

Set WshShell = WScript.CreateObject ("WScript.Shell")
if WshShell.AppActivate(ExcelFileName) = True then
XL.Run "xxxx"
else
Test
End if

我认为OP担心是否有人打开了文件;如果它在服务器环境中仍处于打开状态,则不会。是。。。在它打开文件的那一刻,运行脚本,但是当它试图保存用户时,如果他在那一刻打开了文件,会得到一个提示,提示文件已经存在,如果他想替换i,我宁愿用户不被打断,这样文件就可以在接下来的5分钟内跳转并尝试。我认为OP担心如果其他人打开了文件;如果它在服务器环境中仍处于打开状态,则不会。是。。。在它打开文件、运行脚本的那一刻,但是当它试图保存用户时,如果他在那一刻打开了文件,会得到一个提示,提示该文件已经存在,并且如果他想替换i,我宁愿用户不被打断,这样该文件就可以在接下来的5分钟内跳过并尝试