Wie kann ich feststellen, ob ein Excel 2007-Arbeitsblatt geöffnet ist und wer es mit VBScript geöffnet hat?Wie kann ich feststellen, ob ein Excel 2007-Arbeitsblatt geöffnet ist und mit VBScript geöffnet wurde?
Ich versuche herauszufinden, ob eine Excel-Arbeitsmappe derzeit von einem anderen Benutzer geöffnet ist und zurückgeben, wer dieser Benutzer in meinem Skript ist.
Ich habe bereits herausgefunden, wer zu bestimmen, ob die Arbeitsmappe derzeit geöffnet ist. Es ist eine Problemumgehung, aber ich öffne im Grunde die Arbeitsmappe und überprüft, ob es schreibgeschützt ist. Das funktioniert perfekt; Ich habe es getestet.
Ich weiß, dass dies möglich ist, weil Excel Ihnen den Benutzer gibt, der die Datei geöffnet hat, wenn Sie es über den Browser öffnen.
Hier ist mein Code (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
Auch ich diese Zeile aus dem Befehl ausführen:
cscript isWorkbookOpen.vbs
@AnsgarWiechers Es ist kein Duplikat. Dieser Beitrag fragt, wie man feststellen kann, ob eine Excel-Tabelle bereits geöffnet ist, was ich mit meinem Code bereits demonstriert habe. Ich möchte herausfinden, wer die WHO geöffnet hat. Ich weiß schon, wie man es bekommt, wenn es offen ist. Ich könnte es falsch machen für das, wonach ich suche. – Steven