2022年11月22日14時52分 / 提供:マイナビニュース
○連載第13回目の目的
連載第13回では、前回の続きとしてExcel VBAにおける楽天ウェブサービスの活用について紹介します。前回で、APIの概要を紹介し、アプリケーションIDの取得やAPI呼び出しをテストしました。今回はワークシートを準備してスクリプトを作成し、サンプルを完成させます(図1)。
▼完成サンプルのExcelファイル
https://github.com/wateryinhare62/mynavi_excelvba_webservice
なお、本連載では動作確認をWindows 10 Pro(64bit)、Microsoft 365(Excel 16.0、VBA 7.1)で行っています。旧バージョンや単体のExcelで試す場合にはご注意ください。
○ワークシートの準備
APIが使えることを確認できたら、ワークシートを用意し、基本的なデザインを行っていきましょう。配置および書き込むものは、以下のとおりです。
アプリケーションのタイトルやコントロールのキャプション(説明は省略)
「書名」「著者名」「出版社名」テキストボックス
「ジャンル」「表示順」コンボボックス
「前のページ」「次のページ」「検索開始」ボタン
検索結果を収納する表
クレジット表示
上記のテキストおよびコントロールを、図2を参考に書き込み、配置してください。具体的な手順は、第6回などを参考にしてください。
○コントロールを配置する
8つのコントロール(テキストボックス×3、コンボボックス×2、ボタン×3)をワークシート上部に配置して、プロパティを設定します。これらのプロパティの内容は、表1のとおりです。
▼表1:各コントロールに設定するプロパティ
○検索結果を収納する表を作成する
表は、以下の構成とします。APIのデフォルトでは最大30個/ページが取得されるので、30個の検索結果が収納できるようにします。範囲の書式を「文字列」にしておくと、検索結果の書き込みで表示が乱れにくくなります。
ISBN(ISBNコード)
書名(取得された書籍タイトル)
著者(取得された著者)
出版社(取得された出版社)
発売日(取得された発売日)
サイズ(取得された判型、外形等)
税込み価格(取得された税込み価格)
説明(取得された商品説明)
○クレジット表記を配置する
楽天グループ提供のWebサービスでは、クレジットの表記が義務付けられていますので、適当な形式で表記します。
▼楽天ウェブサービス: クレジット表示方法と注意 | ご利用ガイド
https://webservice.rakuten.co.jp/guide/credit
今回は、最もシンプルな「テキスト形式」を使用することにします。
ここで、ブックを保存しておきます。ブック名は何でもよいですが、VBAのスクリプトを実行できるようにするために、形式を「Excel マクロ有効ブック (*.xlsm)」にしてください。このあとも、適当なタイミングでブックを保存してください。
○VBA-JSONを準備する
楽天ブックス系APIは、基本的に結果をJSONデータで返します。このようにVBAからJSONデータを使いますので、そのために必要なライブラリを準備します。第3回などと同様に、「VBA-JSON」を使用します。第3回の記事を参照して、「Microsoft Scripting Runtime」への参照設定を有効にすることを含めて、VBA-JSONを準備してください。
.