Excel 2007スプレッドシートが開いていて、WHOがVBScriptを使用して開いているかどうかを確認するにはどうすればよいですか?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
また、私は、コマンドラインからこれを実行します。
cscript isWorkbookOpen.vbs
@AnsgarWiechersこれは複製ではありません。この記事では、Excelスプレッドシートが既に公開されているかどうかを判断する方法を尋ねています。私はWHOがそれを開くようにするために探しています。私はすでにそれが開いている場合取得する方法を知っています。私はそれが私が探しているもののために間違っている可能性があります。 – Steven