「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.02.06
XML
カテゴリ: VBA


VBA(Visual Basic for Applications)を使用して、ADODB(ActiveX Data Objects for Data Binding)を介してSharePointリストからアイテムを取得するには、以下の手順を実行できます。これには、ADOライブラリの参照と、SharePointサイトのURL、リスト名、およびクエリが必要です。


ADOライブラリの参照設定:

VBAコードでADOを使用するには、まずライブラリの参照を追加する必要があります。以下は手順です。


Excelの場合:


Excelを開きます。

「開発」タブに移動し、「参照設定」をクリックします。

リストから「Microsoft ActiveX Data Objects x.x Library」を選択します(x.xはバージョン番号)。

OKボタンをクリックして閉じます。

Accessの場合:


Accessを開きます。

「外部データ」タブに移動し、「他のデータベース」をクリックします。

「データベースの参照」ダイアログで、「Microsoft ActiveX Data Objects x.x Library」を選択します(x.xはバージョン番号)。

OKボタンをクリックして閉じます。

VBAコードの作成:

次に、VBAコードを作成します。以下は、SharePointリストからデータを取得する基本的な例です。


vba

Copy code

Sub GetSharePointData()

    ' 参照設定: Microsoft ActiveX Data Objects x.x Library


    Dim conn As Object

    Dim rs As Object

    Dim strSql As String

    Dim SharePointSiteURL As String

    Dim SharePointListName As String


    ' SharePointサイトのURLとリスト名を設定

    SharePointSiteURL = "https://your-sharepoint-site-url"

    SharePointListName = "YourSharePointList"


    ' 接続文字列を作成

    Set conn = CreateObject("ADODB.Connection")

    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;DATABASE=" & SharePointSiteURL & ";LIST=" & SharePointListName & ";"


    ' SQLクエリを作成

    strSql = "SELECT * FROM [" & SharePointListName & "];"


    ' レコードセットを取得

    Set rs = CreateObject("ADODB.Recordset")

    rs.Open strSql, conn


    ' データを出力(例として、A列から始まるセルに出力)

    Dim i As Integer

    i = 1

    Do Until rs.EOF

        Range("A" & i).Value = rs.Fields("ColumnName").Value ' 列名に適切なカラム名を指定

        i = i + 1

        rs.MoveNext

    Loop


    ' 接続を閉じる

    rs.Close

    conn.Close

End Sub

上記のコードを使用する前に、次の点に注意してください。


SharePointSiteURLには、SharePointサイトのURLを正確に指定してください。

SharePointListNameには、対象のSharePointリストの名前を指定してください。

SQLクエリの中でColumnNameには、取得したいカラムの名前を指定してください。

このコードは基本的なものであり、特定の要件に合わせて調整する必要があります。また、認証情報を含めたセキュアな接続が必要な場合は、それに対応するためにコードを修正する必要があります。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.02.06 06:17:27


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: