我要解决的问题是:
我需要构建一个宏,该宏将从下载的报告中获取一个表,并将该表中的数据上传到共享点列表。表的布局是相同的,唯一的变化是时不时地会有一些数据。
我设法将“主”文件链接到共享点列表,并将该列表下载到excel:
Sub ImportListFromSP()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(2)
Dim src(1) As Variant
src(0) = "https://sharepoint.link/_vti_bin"
src(1) = "{LIST ID}"
ws.ListObjects.Add xlSrcExternal, src, True, xlYes, ws.Range("A1")
MsgBox ("Done")
End Sub
只要更改其中的任何内容,都可以使用以下代码保存更改:
Sub UpdateSPList()
Dim ws As Worksheet
Dim objListObj As ListObject
Set ws = ActiveWorkbook.Worksheets("Upload List")
Set objListObj = ws.ListObjects(1)
objListObj.UpdateChanges xlListConflictDialog
MsgBox ("My work here is done, click OK to exit the macro")
End Sub
这在该表中工作正常,如果我进行更改,它们将反映在共享点列表中。
现在,当我尝试通过以下方式用另一个表中的数据替换数据时:
删除表并在其中复制另一个表 删除工作表并在其中复制工作表
它不起作用。
似乎唯一可行的方法是手动复制数据(链接到共享点列表的表的“ ID”列为只读)。如果我要编写一个带有尝试匹配唯一标识符的循环的宏,然后将所有单元格都匹配到最后一个(它最多可达DD和大约6000行),那么它将持续一段时间。另外,还需要弄清楚如何复制不存在的新ID并删除已删除的ID ...
但是我不知道是否存在将新表链接到SharePoint列表或类似方法的另一种方法?
在此先感谢您的帮助。我查看了问题和答案,有一些(不是很多)类似的问题和答案,但我不知道