如何判断Excel 2007电子表格是否已打开且WHO是否已使用VBScript打开它?
我试图弄清楚Excel工作簿当前是否由另一个用户打开并返回该用户在我的脚本中的用户.
我已经找出了确定工作簿目前是否开放的人.这是一种解决方法,但我基本上打开工作簿并检查它是否是只读的.这很完美; 我测试了它.
我知道这是可能的,因为如果您通过浏览器打开文件,Excel会为您提供打开文件的用户.
这是我的代码(isWorkbookOpen.vbs):
Set objExcelTestWorkbook = CreateObject("Excel.Application")
objExcelTestWorkbook.DisplayAlerts = False 'doesn't display overwrite alert
testWorkbookFile = "I:\test_workbook.xlsx"
Set objBook = objExcelTestWorkbook.Workbooks.open(testWorkbookFile)
If objBook.ReadOnly Then
Wscript.echo "The file is read only"
Call EndScript
Else
Wscript.echo "The file is available"
Call EndScript
End If
Function EndScript
objExcelTestWorkbook.Workbooks.close
objExcelTestWorkbook.Quit
WScript.Echo "Closed " & testWorkbookFile
WScript.Quit
End Function
Run Code Online (Sandbox Code Playgroud)
另外,我从命令行运行它:
cscript isWorkbookOpen.vbs
Run Code Online (Sandbox Code Playgroud)