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関連

    テキストボックスの中にある表を操作するWordマクロ

    Yahoo!知恵袋で、「Wordマクロでテキストボックスの中にある表の…

  2. Office関連

    住所から郵便番号を取得するVBAマクロ

    「住所から郵便番号 VBA」といったキーワード検索でのアクセスがあった…

  3. Office関連

    Office 2013のコントロールIDリストが更新されました。

    「コントロールID 一覧(Office 2013)」でも紹介しているO…

  4. Office関連

    jQuery UIのDatepickerをVBAから使用するサンプル

    2014/1/31 追記:Internet Explorerのオー…

  5. Office アドイン

    Office アドインの概要と開発方法を学ぶための自習書

    2018年10月27日(土)、品川の日本マイクロソフト本社で「2018…

  6. Office関連

    PowerPointの自動実行マクロ

    ExcelのAuto_OpenやWordのAutoOpenのように、P…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP