2016-08-02 101 views
0

我已經在互聯網上搜索了這個答案,並繼續運行問題得到它的工作。vba Excel - 如何檢查SharePoint網站文件是否打開

我需要檢查下面位置的文件是否打開/鎖定,然後讓代碼等待15秒,然後重試。現在,如果其他人打開文件,會打開一個對話框,詢問是否打開只讀,這是我不想要的。我嘗試使用Application.DisplayAlerts = False來讓消息不出現,但似乎沒有工作。所以我有兩個主要問題:

  1. 檢查文件是否打開並等待重試。
  2. 停止打開請求打開的對話框爲只讀。

Workbooks.Open名:= _ 「https://somecorporatewebsite/sites/TNKYWest/Engr/ASE%20Updates/Shared%20Documents/ASENW Updater.xlsx」

+0

也許這將有助於http://stackoverflow.com/questions/25668098/detect-if-sharepoint-file-is-open – Slai

回答

0
  1. 嘗試是這樣的:

從MSDN網站: https://msdn.microsoft.com/en-us/library/office/ff193284.aspx

Sub UseCanCheckOut(docCheckOut As String) 
Dim docCheckout 
set docCheckout="File name to open" 
' Determine if workbook can be checked out. 
If Workbooks.CanCheckOut(Filename:=docCheckOut) = True Then 
Workbooks.CheckOut (Filename:=docCheckOut) 
Else 

在MSDN網站上找到: https://msdn.microsoft.com/en-us/library/office/ff822851.aspx

Application.Wait(Now + TimeValue("0:00:10")) 
Workbooks.CheckOut (Filename:=docCheckOut) 'Try to check the file out again. 
End If 

End Sub 
  • 這部分在

    覆蓋IF workbooks.cancheckout(文件名:= docCheckout)=真,則在第1部分workbooks.checkout'方法。