excel - vb.net Office365共享点检查文件由用户打开
问题描述
我有以下脚本可以从 office365 Sharepoint 访问 excel 文件。
dim objApp2 As Excel.Application
dim objBook2 As Excel._Workbook
dim objBooks2 As Excel.Workbooks
dim objSheets2 As Excel.Sheets
dim objSheet2 As Excel._Worksheet
link="sharepointlink"
objApp2 = New Excel.Application()
objBooks2 = objApp2.Workbooks
objBook2 = objBooks2.Open(link, [ReadOnly]:=False)
objSheets2 = objBook2.Worksheets
ws2 = objSheets2("Data")
Dim valoare As Integer
valoare = Int(ws2.Range("a1").Value)
ws2.Range("a1").Value = valoare + 1
objBook2.SaveAs()
objBook2.Close(False)
我有一个问题:如果有人访问我的链接并打开文件,无论是在 Sharepoint 上还是在本地打开,我在尝试关闭对象或保存文件时都会收到错误消息。
当我尝试保存时,如何检查文件是否被某人打开,或者是否有其他方法可以访问该文件?
解决方案
欢迎来到本站。ReadOnly 属性应该告诉您是否有其他人打开它,尤其是当您说您不希望它打开时。您可能最终需要切换到共享工作簿,但这应该可以解决问题。
dim objApp2 As Excel.Application
dim objBook2 As Excel._Workbook
dim objBooks2 As Excel.Workbooks
dim objSheets2 As Excel.Sheets
dim objSheet2 As Excel._Worksheet
link="sharepointlink"
If IsFileInUse(link) then
MsgBox "Cannot update Excel file"
Exit Sub 'End
End If
objApp2 = New Excel.Application()
objBooks2 = objApp2.Workbooks
objBook2 = objBooks2.Open(link, [ReadOnly]:=False)
objSheets2 = objBook2.Worksheets
ws2 = objSheets2("Data")
Dim valoare As Integer
valoare = Int(ws2.Range("a1").Value)
ws2.Range("a1").Value = valoare + 1
objBook2.SaveAs()
objBook2.Close(False)
Public Function IsFileInUse(sFile As String) As Boolean
Try
Using f As New IO.FileStream(sFile, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
End Using
Catch Ex As Exception
Return True
End Try
Return False
End Function
推荐阅读
- python-3.x - TensorFlow Estimator 以 Web 格式保存 (tfjs)
- javascript - 使用数组列表并在 React 中访问其元素
- amazon-web-services - AWS 上的 Neo4J 在线备份错误 - 无法使用可用策略运行备份
- vue.js - 为什么从不调用 beforeLeaveRoute?
- python - 仅计算数据框中没有 NaN 值的数据行的平均值
- python - LookupError: unknown encoding: cp65001 即使使用 PYTHONIOENCODING=UTF-8
- python - 自从升级 PyCharm 后,我突然无法运行 server manage.py django
- latex - LaTeX:无论源代码的主要块在哪里,是否可以将图像/表格放置在它们被引用的位置附近?
- python - Pandas - 双向合并多索引
- angular - Angular 客户端应该将用户角色存储在本地存储中吗?