「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
VBA用Data APIライブラリ(その2・基本的な使い方)
Movable TypeのVBA用Data APIライブラリの基本的な使い方を解説します。
1.初期化
Data APIライブラリを使うには、まずData APIのオブジェクトを生成して初期化します。
その書き方は以下のようになります。
Dim api As MTDataAPI Set api = New MTDataAPI api.init "http://your-host/path-to-mt/mt-data-api.cgi", "クライアントID"
「your-host」と「path-to-mt」の部分は、Movable Typeのインストール先に応じて書き換えます。
また、「クライアントID」の部分には、半角英数字でIDを決めて指定します。
2.sendメソッド
Data APIで通信するには、「send」というメソッドを使います。
1つ目のパラメータで、呼び出すエンドポイントのIDを指定します。
また、2つ目以降のパラメータで、Data APIに渡す情報を指定します。
2つ目以降のパラメータの渡し方は、PHP用ライブラリとほぼ同じです。
ただし、PHP用で連想配列を渡していたパラメータでは、その代わりにScripting.Dictionary型のオブジェクトを渡します。
sendメソッドの戻り値は、Data APIから返された情報になります。
素のData APIではJSON文字列が返されますが、sendメソッドの戻り値はJSON文字列をScripting.Dictionary型に変換した値になります。
3.事例
簡単な事例として、IDが1番のウェブサイト(またはブログ)から記事を読み込み、Excelのワークシートに各記事のタイトルを書き込む例を紹介します。
Excelで昨日の記事の準備作業を行った後、Visual Basicのエディタに標準モジュールを追加し、以下のコードを入力して実行します。
Sub ImportFromMT() Dim api As MTDataAPI, i As Integer Dim response As Scripting.Dictionary Set api = New MTDataAPI api.init "http://your-host/path-to-mt/mt-data-api.cgi", "クライアントID" Set response = api.send("listEntries", 1) If response.Exists("Error") Then MsgBox "記事読み込み失敗" Exit Sub End If For i = 1 To response("items").Count Cells(i, 1).value = response("items")(i)("title") Next End Sub