Следующий код прекрасно извлекает список.Тем не менее, я ищу помощь, чтобы извлечь его на основе условия.
Dim objMyList As ListObject
Dim objWksheet As Worksheet
Dim strSPServer As String
Dim strFilter As String
Const SERVER As String = "sharepoint site name"
Const LISTNAME As String = "{XXX-E8AE3D708B81}"
Const VIEWNAME As String = "{XXXC26E71804CE3}"
strSPServer = "https://" & SERVER & "/_vti_bin"
Set objWksheet = Sheet3
strFilter = "apples"
Set objMyList = objWksheet.ListObjects.Add(xlSrcExternal, _
Array(strSPServer, LISTNAME, VIEWNAME), False, , Range("b8"))
У меня есть другой фрагмент кода, который извлекает на основе условия.Однако проблема с кодом заключается в том, что он не извлекает его из таблицы с возможностью синхронизации, как предыдущие коды.
Dim strConnection As String
Dim strSQL As String
Dim strFilter As String
strFilter = "apples"
strSQL = "SELECT [FIELDNAME2] FROM list WHERE FIELDNAME =" & Chr(34) & strFilter & Chr(34)
strConnection = "OLEDB; Provider=Microsoft.ACE.OLEDB.12.0; WSS; IMEX=0; RetrieveIds=Yes; DATABASE=MYSHAREPOINTSITE;LIST={XXXXXCE10-4963-B00C-E8AE3D708B81};"
With ActiveSheet.QueryTables.Add(Connection:=Array(strConnection), Destination:=Range("b5"), Sql:=strSQL)
.CommandText = Array(strSQL)
.Name = "Data from SP list"
.FieldNames = True
.PreserveFormatting = True
.BackgroundQuery = True
.Refresh
End With
Я надеюсь, что кто-то может помочь изменить первый код и добавитьПредложение WHERE или второе и получите его в формате таблицы, чтобы я мог синхронизироваться, как только я закончу с правками.