如何判断 Excel 2007 电子表格是否已打开以及谁使用 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
另外,我从命令行运行它:
cscript isWorkbookOpen.vbs