我正在研究 VBA 代码以从 Sharepoint 列表中获取数据,并直接从我的 Excel 文件中更新它。
我的代码确实可以运行,如下所示:
Option Explicit
Dim HomeSh As Worksheet
Sub ImportList()
Set HomeSh = Sheets("Feuil2")
Dim SpSite As String
SpSite = "https://mybestwebsiste"
Dim Guid As String
Guid = "{51748b98}"
On Error Resume Next
HomeSh.ListObjects(1).Unlist
On Error GoTo 0
HomeSh.Range("A1:X10000").Clear
Dim SiteSrc(0 To 1) As Variant
SiteSrc(0) = SpSite & "/_vti_bin"
SiteSrc(1) = Guid
HomeSh.ListObjects.Add xlSrcExternal, SiteSrc, True, xlYes, HomeSh.Range("A1")
Set HomeSh = Nothing
End Sub
Sub UpdateSPList()
Dim theList As Object
Set HomeSh = Sheets("Feuil2")
Set theList = HomeSh.ListObjects(1)
theList.UpdateChanges xlListConflictDialog
Set theList = Nothing
End Sub
当我检查将其集成到另一个文件/宏中时,有些事情不太好:编辑器没有等待连接更新就继续运行。问题是:我需要更新这些数据才能顺利执行我的代码。
我在网上查看了一些等待连接更新的代码示例,但没有找到正确的解决方案。以下是我尝试的方法:
1:
应用程序.CalculateUntilAsyncQueriesDone
-2:
HomeSh.ListObjects.Add xlSrcExternal, SiteSrc, True, xlYes, HomeSh.Range("A1")
DoEvents
是不是那些线条给我带来了一些问题?
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
我看到这样的表达式应该有帮助,但不知道如何将其集成到我的代码中。
While http.readyState <> 4
DoEvents
感谢您的帮助 !