Làm cách nào để biết bảng tính Excel 2007 có mở và WHO mở nó bằng VBScript không?Làm cách nào để biết bảng tính Excel 2007 có mở hay không và WHO mở nó bằng cách sử dụng VBScript
Tôi đang cố gắng tìm hiểu xem một bảng tính Excel hiện có đang mở bởi một người dùng khác và trả lại người dùng đó là ai trong tập lệnh của tôi hay không.
Tôi đã tìm ra ai để xác định xem sổ làm việc hiện có đang mở hay không. Đó là một cách giải quyết, nhưng về cơ bản tôi mở sổ làm việc và kiểm tra xem nó có phải là chỉ đọc hay không. Điều đó hoạt động hoàn hảo; Tôi đã thử nghiệm nó.
Tôi biết điều này là có thể vì Excel cung cấp cho bạn người dùng có tệp mở nếu bạn mở tệp qua trình duyệt.
Đây là mã của tôi (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
Ngoài ra, tôi chạy từ dòng lệnh:
cscript isWorkbookOpen.vbs
@AnsgarWiechers Nó không phải là bản sao. Bài đăng đó đang hỏi cách xác định xem bảng tính excel đã mở chưa, với mã của tôi tôi đã trình bày. Tôi đang tìm cách để WHO mở nó. Tôi đã biết làm thế nào để có được NẾU nó được mở. Tôi có thể làm điều đó sai cho những gì tôi đang tìm kiếm mặc dù. – Steven