VBS 判断EXCEL是否打开

各位大侠 ,请问用VBS如何判断EXCEL文件是否打开,在网上只找到VBA的判断方法,但在VBS里不能用。

最佳答案

需要使用GetObject来获取Excel进程句柄,从而判断EXCEL文件是否已被打开。
  On Error Resume Next '此句必须有,防止无EXCEL进程时GetObject出错
  Dim xlApp,xlBook
  Dim isXlsOpen 
  isXlsOpen = False
  Set xlApp  = GetObject(,"Excel.Application") '获取EXCEL进程
  If TypeName(xlApp) = "Application" Then '检测到有Excel进程已经打开
   For Each xlBook In xlApp.WorkBooks '循环检查Excel进程打开的Workbooks
    'MsgBox xlBook.FullName
    If xlBook.FullName = "D:\TEMP.XLS" Then '如果路径与所检查的文件一致
        isXlsOpen =True
        Exit For
    End If
   Next
  End If

提问者对于答案的评价:
感谢大侠!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc276284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午12:17
下一篇 2019年6月11日 下午12:17

相关推荐