gpt4 book ai didi

excel - 如何在通过 VBA 在 Sharepoint 中编辑 Excel 文件时处理共同创作

转载 作者:行者123 更新时间:2023-12-04 04:03:07 25 4
gpt4 key购买 nike

我有一个存储在 Sharepoint 中的 excel 文件(也可以通过 Microsoft Teams 访问),路径为:https://organization.sharepoint.com/PathOfFile/myFile.xlsx

Sharepoint 中的共同创作功能可以让多人同时编辑文件。

我想使用我计算机本地存储的另一个 excel 文件来访问和修改 Sharepoint 中的文件。这个本地文件有一个按钮,里面有这个 VBA 代码:

Sub UpdateSP():

f_name = "https://organization.sharepoint.com/PathOfFile/myFile.xlsx"

Workbooks.Open f_name
Workbooks("myFile.xlsx").Activate
ActiveWorkbook.Sheets("sheet1").Activate

Range("A" & Rows.Count).End(xlUp).Offset(1).Select
ActiveCell.Value = 9999
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = 0000

ActiveWorkbook.Close SaveChanges:=True

End Sub

原理上是可以的,修改了Sharepoint中的文件。但是,如果有人在我运行代码时编辑文件,事情就会出错,然后似乎创建了两个版本的文件,一个用于在线实时编辑,另一个用于我的代码。

如果发生这种情况,文件的在线版本将不会显示代码所做的更改,并且每当使用 excel 应用程序打开文件时,都会弹出一个窗口,询问应保留文件的哪个版本, 丢失在处置版本中所做的所有更改。

我已经尝试使用 CanCheckOutCheckOut 方法,但是 CanCheckOut 出于任何原因总是返回 False (这里有一些关于相同问题的问题,但我找不到解决方案)。

有人可以建议解决此问题的方法吗?谢谢。

最佳答案

我不是 100% 确定它可以在 SharePoint 上运行,但理论上,ADODB 是一个 VBA 库,它具有使用 Microsoft 的 Jet 引擎的对象语法,因此您可以打开文件 AdLockOptimistic---ally。 ((在 ADO.net 中查找锁类型))

这在文件目录的基础上工作,因此如果正在修改的数据库是打开的,它将处理更新。

不是使用 Excel 的应用程序打开文件,而是建立一个 ADO 连接,然后指定锁定类型以访问其中的 Excel 工作表和表格。

这适用于共享/网络驱动器,所以我猜既然 SharePoint 可以映射为文件资源管理器驱动器,那么 ADO 应该可以工作并且值得一试。

这是一个让您入门的基本示例:ADO question

关于excel - 如何在通过 VBA 在 Sharepoint 中编辑 Excel 文件时处理共同创作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62780612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com