Excel Add-In for YouTube Analytics

Build 22.0.8479

データの変更

VBA からの接続 を完了したら、マクロからYouTube Analytics を更新できます。次のセクションでは、パラメータ化されたクエリを実行してデータを更新する方法について説明します。完全なマクロについては、パラメータ化されたクエリの実行 を参照してください。

Insert

Insert メソッドを呼び出して、SQL INSERT ステートメントを実行します。
public bool Insert(string queryString, object paramNames, object paramValues)

Insert メソッドはステートメント実行の成功または失敗を示すboolean を返し、 次のパラメータを受け入れます。

queryString実行するクエリ。例:INSERT INTO Groups (ContentDetails_ItemType) VALUES ('youtube#playlist')
paramNamesクエリで使用される名前付きパラメータを含む配列。パラメータクエリを使用する場合は、必須。
paramValuesパラメータ名に対応する値を含む配列。パラメータクエリを使用する場合は、必須。

次の例では、パラメータ配列で指定された値を挿入し、挿入の成功または失敗を示すメッセージボックスを表示します。

Dim nameArray
nameArray = Array("ContentDetails_ItemType", "Id")
Dim valueArray
valueArray = Array("youtube#channel", "S")
Dim module As New ExcelComModule
module.SetProviderName ("YouTubeAnalytics")
module.SetConnectionString ("ContentOwnerId=MyContentOwnerId;ChannelId=ChannelId;")
Query = "INSERT INTO Groups (ContentDetails_ItemType, Id) VALUES (@ContentDetails_ItemType, @Id)"
If module.Insert(Query, nameArray, valueArray) Then
  MsgBox "The insert was successful."
  'lastInsertedRowIdentity = GetLastInsertedRowIdentity(module)
  'MsgBox lastInsertedRowIdentity
Else
  MsgBox "The insert failed."
End If
module.Close

挿入に成功し、SCOPE_IDENTITY() がYouTube Analytics プロバイダーでサポートされている場合、以下のVBA 関数例を呼び出して、最後に挿入された行のId を取得することができます。

Function GetLastInsertedRowIdentity(module) As String
  Dim lastInsertedRowIdentity As String
  lastInsertedRowIdentity = ""
  If module.Select("SELECT SCOPE_IDENTITY()", prmNames, prmValues) Then
    lastInsertedRowIdentity = module.GetColumnValue(0)
  End If
  GetLastInsertedRowIdentity = lastInsertedRowIdentity
End Function

Update

Update メソッドを呼び出して、SQL UPDATE ステートメントを実行します。

public bool Update(string queryString, object paramNames, object paramValues)

Update メソッドはステートメント実行の成功または失敗を示すboolean を返し、次のパラメータを受け入れます。

queryString実行するステートメント。
paramNamesクエリで使用される名前付きパラメータを含む配列。パラメータクエリを使用する場合は、必須。
paramValues対応するパラメータ値を持つ配列。パラメータクエリを使用する場合は、必須。

次の例では、パラメータ配列で指定された値を更新し、更新の成功または失敗を示すメッセージボックスを表示します。

Dim nameArray
nameArray = Array("ContentDetails_ItemType", "Id","Id")
Dim valueArray
valueArray = Array("youtube#channel", "S","S")
Dim module As New ExcelComModule
module.SetProviderName ("YouTubeAnalytics")
module.SetConnectionString ("ContentOwnerId=MyContentOwnerId;ChannelId=ChannelId;")
Query = "UPDATE Groups SET ContentDetails_ItemType=@ContentDetails_ItemType, Id=@Id WHERE Id=@Id
If module.Update(Query, nameArray, valueArray) Then
  MsgBox "The update was successful."
Else
  MsgBox "The update failed."
End If
module.Close

Delete

Delete メソッドを呼び出して、SQL DELETE ステートメントを実行します。
public bool Delete(string queryString, object paramNames, object paramValues)

Delete メソッドはクエリの成功または失敗を示すboolean を返し、次のパラメータを受け入れます。

queryString実行するクエリ。例:SELECT Snippet_Title, ContentDetails_ItemType FROM Groups WHERE Id = 'S'
paramNamesクエリで使用される名前付きパラメータを含む配列。パラメータクエリを使用する場合は、必須。
paramValuesパラメータ名に対応する値を含む配列。パラメータクエリを使用する場合は、必須。

次の例では、キーで指定されたレコードを削除し、削除の成功または失敗を示すメッセージボックスを表示します。

Dim module As New ExcelComModule
module.SetProviderName ("YouTubeAnalytics")
module.SetConnectionString("ContentOwnerId=MyContentOwnerId;ChannelId=ChannelId;")
Dim nameArray
nameArray = Array("Id")
Dim valueArray
valueArray = Array("S")
Query = "DELETE FROM Groups WHERE Id='S'"
If module.Delete(Query,nameArray,valueArray) Then
  MsgBox "The delete was successful."
Else
  MsgBox "The delete failed."
End If 
module.Close

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479