Jak sprawdzić, czy arkusz kalkulacyjny programu Excel 2007 jest otwarty i czy jest on otwarty przy użyciu skryptu VBScript?Jak sprawdzić, czy arkusz kalkulacyjny programu Excel 2007 jest otwarty i czy jest otwarty przez WHO przy użyciu VBScript
Próbuję dowiedzieć się, czy skoroszyt programu Excel jest obecnie otwarty przez innego użytkownika i powrócić, który użytkownik jest w moim skrypcie.
Dowiedziałem się już, kto ustalić, czy skoroszyt jest obecnie otwarty. Jest to obejście, ale zasadniczo otwieram skoroszyt i sprawdzam, czy jest on tylko do odczytu. To działa idealnie; Przetestowałem to.
Wiem, że jest to możliwe, ponieważ program Excel daje użytkownikowi, który ma otwarty plik, jeśli otworzysz go przez przeglądarkę.
Oto mój kod (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
również uruchomić z wiersza poleceń:
cscript isWorkbookOpen.vbs
@AnsgarWiechers To nie jest duplikat. Ten post pyta, jak ustalić, czy arkusz kalkulacyjny Excela jest już otwarty, co z moim kodem już wykazałem. Szukam, aby WHO to otworzyło. Już wiem, jak zdobyć JEŚLI to jest otwarte. Mógłbym robić źle w tym, czego szukam. – Steven