Office関連

Trello APIを使ってカードを投稿するVBAマクロ

以前Fiddlerを使ってTrello APIを実行する記事を書きましたが(下記参照)、今回はVBAマクロからTrello APIを叩いてみたいと思います。

Trello APIを使ってカードを投稿するVBAマクロ

折角なので、「Google Calendar APIを使って日本の祝日を取得するマクロ」で取得した各祝日情報をTrelloのカードとして投稿することにします。

  • APIキーやトークン、リストIDはこの記事を参考に、事前に取得しておいてください。
  • 下記コードはScriptControlを使用しているため、64ビット版のOfficeでは動作しません。
Option Explicit

Public Sub Sample()
  Dim i As Long
  
  '--------------------------------------------------
  '※必要に応じて変更
  '--------------------------------------------------
  Const ApiKey As String = "(APIキー)"
  Const ApiToken As String = "(トークン)"
  Const ListId As String = "(リストID)"
  '--------------------------------------------------
  
  With ActiveSheet
    For i = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
      PostTrelloCard .Cells(i, 2).Value, _
                     ApiKey, _
                     ApiToken, _
                     ListId, _
                     Format(.Cells(i, 1).Value, "yyyy-mm-dd")
    Next
  End With
  MsgBox "処理が終了しました。", vbInformation + vbSystemModal
End Sub

Private Sub PostTrelloCard(ByVal CardName As String, _
                           ByVal ApiKey As String, _
                           ByVal ApiToken As String, _
                           ByVal ListId As String, _
                           Optional ByVal CardDue As String = "")
'Trelloの指定したリストにカードを投稿
  Dim Url As String
  
  Url = "https://api.trello.com/1/cards?idList=" & ListId & _
        "&key=" & ApiKey & _
        "&token=" & ApiToken & _
        "&name=" & EncodeURL(CardName)
  If Len(Trim(CardDue)) > 0 Then Url = Url & "&due=" & EncodeURL(CardDue & "T00:00:00+09:00") '時間は0時固定
  
  With CreateObject("WinHttp.WinHttpRequest.5.1")
    .Open "POST", Url, False
    .Send
    Select Case .Status
      Case 200: 'Debug.Print .ResponseText '確認用
      Case Else: MsgBox "処理が失敗しました。", vbCritical + vbSystemModal
    End Select
  End With
End Sub

Private Function EncodeURL(ByVal Target As String) As String
'URLエンコード
  With CreateObject("ScriptControl")
    .Language = "JScript"
    EncodeURL = .CodeObject.encodeURIComponent(Target)
  End With
End Function

上記コードを実行すると、問題が無ければ下図のようにカードが投稿されます。

Trelloに一括投稿したい情報がある場合は、今回紹介したマクロのように、外部からAPIを呼び出すのがお手軽で便利です。

Visual Basic Advent Calendar 2017

前回の記事と同様、今回の記事も「Visual Basic Advent Calendar 2017」に参加させていただきます。

RSSの日付を変換するVBAマクロ前のページ

【感想】僕と君の大切な話17話次のページ

関連記事

  1. Office アドイン

    Office 用アプリの開発資料(日本語)が公開されました。

    Office 用アプリの開発資料(日本語)が公開されました。・…

  2. Office関連

    Excel Services JavaScript APIを試してみました(2)

    前回の記事で、JavaScriptコードを貼り付けてExcelワークブ…

  3. アイコン一覧

    Office 2013 アイコン一覧(J)

    ・Office 2013 アイコン一覧 NUM…

  4. Office関連

    関数一覧(Excel 2013)

    関数の挿入ダイアログから抽出したExcel 2013の関数情報を表にし…

  5. Office アドイン

    [Office用アプリ]Seller Dashboardの販売者アカウントを作成する。

    Office用アプリをOfficeストアで公開するためにはMicros…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP