Como saber se uma planilha do Excel 2007 está aberta e quem está aberta usando o VBScript
Como posso saber se uma planilha do Excel 2007 está aberta e QUEM a abriu usando o VBScript?
Estou tentando descobrir se uma pasta de trabalho do Excel está ou não aberta por outro usuário e retornando quem é esse usuário no meu script.
Eu já descobri quem determinar se a pasta de trabalho está aberta no momento. É uma solução alternativa, mas basicamente eu abro a pasta de trabalho e verifico se é somente leitura. Isso funciona perfeitamente; Eu testei isso.
Eu sei que isso é possível porque o Excel dá a você o usuário que tem o arquivo aberto se você abri-lo através do navegador.
Aqui está o meu código (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
Além disso, eu corro isso na linha de comando:
cscript isWorkbookOpen.vbs