2016-08-02 99 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'方法。