ワークフロー概要
- Excelの書籍リストを読み込む
- 楽天ブックスのサイトにアクセス
- 書籍と著者名で検索して、各書籍ページからランキング情報を取得
- 取得したランキング情報をチャットワーク(グループチャット)に投稿
- Excelの書籍リストのランキング列に、ランキング情報を書き込む
ワークフロー全体図
作成手順
1.【Excelアプリケーションスコープ】をドロップ
Excelドキュメントを選択[“書籍リスト.xlsx”]
●[書籍リスト.xlsx]の内容 ※ランキング列は空
2.【範囲を読み込み】を [実行] 内にドロップ
[プロパティ]の設定
[シート名]:「”リスト”」
[データテーブル]:変数「BookList」を新規作成
3.【ブラウザーを開く】をドロップ
[プロパティ]の設定
[URL]:「”https://books.rakuten.co.jp/book/”」
[ブラウザーの種類]:「BrowserType.Chrome」を選択
4.[Do]内に、【繰り返し(各行)】をドロップ
[プロパティ]の設定
[データテーブル]:変数「BookList」を選択
[現在のインデックス]:変数「Count」を新規作成
→セルの書き込み位置用に設定
5.「繰り返し(各行)」内に、「行項目を取得」を2つドロップ
1つ目は「タイトル」情報を取得
[プロパティ]の設定
[列名]:「”タイトル名”」
[行]:「row」
[値]:変数「BookTitle」を新規作成
2つ目は「著者」情報を取得
[プロパティ]の設定
[列名]:「”著者”」
[行]:「row」
[値]:変数「Author」を新規作成
6.【代入】をドロップ
検索ボックスに入力するワードを作成
[プロパティ]の設定
[右辺値]:「BookTitle + “ ” + Author」
[左辺値]:変数「SearchWord」を新規作成
7.【文字を入力】をドロップ
サイトにアクセスし、検索ボックスを選択する
[プロパティ]の設定
[テキスト]:変数「SearchWord」を選択
8.【クリック】をドロップ
検索ボックスの検索ボタンを選択する
9.【アンカーベース】をドロップ
検索結果の本のタイトル名をクリック
[アンカー]に、【画像を探す】をドロップし、[本]の画像を選択[アクティビティ]に、【クリック】をドロップし、タイトル名を選択
10.【テキストを取得】をドロップ
ランキング情報が表示された箇所を選択
11.【条件分岐】をドロップ
ランキング情報(ランキング外)が取得できなかった際の対応
[Condition]:Ranking.Contains(“ランキング”)→ランキング外の場合は、「ランキング外」と表示される為、含まれている場合…
※「Contains」メソッド→文字列が含まれているかチェックする。
文字列変数.contains(“検索したい文字列”)
[Then]内に、【代入】をドロップ
[プロパティ]の設定
[右辺値]:「”ランク外です”」
[左辺値]:変数「Ranking」を新規作成
[Elce]内に、【代入】をドロップ
[プロパティ]の設定
[右辺値]:「Ranking.Split(“第(”.ToCharArray)(1)」
[左辺値]:変数「Ranking」を選択
※「Split」メソッド→文字列を指定した文字で分割。
例【登録番号:1234】が作成されました。
→文字列変数.Split(“:】”.ToCharArray)(1)
→「1234」を抽出
12.【代入】をドロップ
→チャットワークへ投稿文用
[プロパティ]の設定
[右辺値]:「”週間ランキング” + “:” + BookTitle + “|” + Ranking」
[左辺値]:変数「Post_ChatWork」を新規作成
12.【HTTP要求】をドロップ
チャットワークのグループにランキング情報を投稿
※[API Token]を取得
→チャットワークの[サービス連携]から取得できます。
HTTP要求ウィザード
[要求メソッド]:POST
[パラメーター]:ヘッダーを追加
名前:X-ChatWorkToken
値:取得した[API Token] 型:HttpHeader
名前:body
方向:入力
型:String
値:変数「Post_ChatWork」を選択
13.【Excelアプリケーションスコープ】をドロップ
→取得したランキング情報を書き込む
14.【Excelアプリケーションスコープ】内に、【セルに書き込み】をドロップ
[プロパティ]の設定
[シート名]:”リスト”
[範囲]:”C” + (Count+2).ToString
→2行目からの書き込みになるので、+2
[値]:Ranking
15.「代入」をドロップ
→次の行の処理の為に、値を1つ増やす。