微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VBA 到 Sharepoint 如何添加人员或组

如何解决VBA 到 Sharepoint 如何添加人员或组

我目前正在使用一个 VBA 脚本,它接收 excel 输入并将它们上传到 sharepoint。

我遇到的唯一问题是上传“人物”或“群组”时出现类型不匹配,可能是因为它试图获取链接

代码如下:

Sub AddItems()
'
' Requires a reference to "Microsoft ActiveX Data Object 6.0 Libray" to insert a record into a sharepoint list "AccessLog"
'
    Dim cnt As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim MysqL As String

    Set cnt = New ADODB.Connection
    Set rst = New ADODB.Recordset
    Dim LastRow As Long,i As Long

    MysqL = "SELECT * FROM [TestingSharepoint];"

    With cnt ' See https://www.connectionstrings.com/sharepoint/

.ConnectionString = _
        "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;DATABASE=https://share.amazon.com/sites/TestingIPVABO Sharepoint;List={F1BDB92A-349A-4056-9EF4-F6C5AFC3CE9F};"
        .Open
    End With
    LastRow = Cells(Rows.Count,"A").End(xlUp).Row

    rst.Open MysqL,cnt,adOpenDynamic,adLockOptimistic
    
    Set Columntocheck = Worksheets("Audits_10d").Range("A1:A2000")

    For Counter = 11 To LastRow
       
       Valuetocheck = Sheets("Translation").Cells(Counter,3).Value

       If IsError(Application.Match(Valuetocheck,Columntocheck,0)) Then
            rst.AddNew
            rst.Fields("Task ID") = Sheets("Translation").Cells(Counter,3).Value
            rst.Fields("Seller ID") = Sheets("Translation").Cells(Counter,4).Value
            rst.Fields("Site") = Sheets("Translation").Cells(Counter,5).Value
            rst.Fields("Mktpl") = Sheets("Translation").Cells(Counter,6).Value
            rst.Fields("Country") = Sheets("Translation").Cells(Counter,7).Value
            rst.Fields("Inv_Date") = Sheets("Translation").Cells(Counter,8).Value
            rst.Fields("Associate_Login") = Sheets("Translation").Cells(Counter,9).Value
            rst.Fields("Manager_Login") = Sheets("Translation").Cells(Counter,10).Value
           
            
      End If
    Next Counter
            
            
            
            
    rst.Update ' commit changes to SP list

    If CBool(rst.State And adStateOpen) = True Then rst.Close
    If CBool(cnt.State And adStateOpen) = True Then cnt.Close
End Sub

因为输入看起来像这样:

enter image description here

有人知道如何修复它吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。