2

共有ポイントよりも Excel で作業する方が快適なので、VBA を使用して Excel から共有ポイント リストを更新できればと思います。

以下のコードを使用して共有ポイント リスト データを Excel にインポートしましたが、正常に動作しています。

Sub ImportSharePointData()
Dim objWksheet As Worksheet
Dim CheckListObject As ListObject
Const strSPServer As String = "http://ServerName/_vti_bin"
Const LISTNAME As String = "{69D094F2-40AD-8225-26F4260A1DDB}"
Const VIEWNAME As String = "{4C6620BC-422D-9363-642F332FBF7B}"

' Worksheet in which data imports.
Set objWksheet = WksSharePointData
objWksheet.Activate

' Delete old data list if exists
Set CheckListObject = objWksheet.Range("A1").ListObject
    If CheckListObject Is Nothing Then
    Else
        objWksheet.Range("A1").ListObject.Delete
    End If

' Add a list range to the newly created worksheet and populated it with the data from the SharePoint list.
Set objMyList = objWksheet.ListObjects.Add(xlSrcExternal, _
    Array(strSPServer, LISTNAME, VIEWNAME), False, xlGuess, Range("A1"))

End Sub

共有ポイントリストを更新するためのコードは以下にありますが、残念ながらまったく機能していません:(

Sub UpdateSharePoint()
Dim CheckListObject As ListObject
Dim objWksheet As Worksheet
Const strSPServer As String = "http://ServerName/_vti_bin"
Const LISTNAME As String = "{69D094F2-40AD-8225-26F4260A1DDB}"
Dim retUrl As String

' Worksheet in which data imports.
Set objWksheet = WksSharePointData
objWksheet.Activate

Set CheckListObject = objWksheet.Range("A1").ListObject
' Publish the table to share point
retUrl = CheckListObject.Publish(Array(strSPServer, LISTNAME), False)

End Sub

上記のコードを実行すると、最後のコード行が表示されます

「実行時エラー '-2147467259 (80004005)': 予期しないエラーが発生しました。データへの変更を保存できません」

誰かがこれで私を助けてくれませんか。ありがとうございました

4

0 に答える 0