ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ダウンロード前に必ず『サンプルロボご利用にあたっての注意事項』をご一読いただき、
お客さま判断でご利用いただきますようお願いいたします。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ExcelのA列にあるデータを、指定された数ごとに分割し、テキストで出力するサンプルロボットです。
(作成バージョン:10.3.0.2)
■ロボットの流れ
1. 該当のExcelファイルを読込
2. 作業するシート名の有無を判定(シート名未入力の場合は先頭のシート名を格納する)
3. 指定数分のデータをLong Textに格納
4. 指定数分のデータが溜まったらテキストを出力
5. データがなくなるまで3~4をループ
6. 最終データを処理後にテキスト内にデータがあった場合は出力
■前提条件
タイプファイル「User_Input.type」内の変数に「作業するファイルパス」「シート名」
「出力するフォルダパス」「分割するデータ数」を設定する。
■使用する変数
・User_Input.type
変数名 | タイプ | 初期値 | 必須 | 説明 |
WorkExcelPath | Short Text | 〇 | 作業するファイルパスを入力 | |
SheetName | Short Text | 作業するシート名を入力 | ||
FolderPath | Short Text | 〇 | 出力するフォルダパスを入力 | |
NumberOfData | Integer | 〇 | 分割するデータ数を入力 |
・シンプルタイプ変数
変数名 | タイプ | 初期値 | 必須 | 説明 |
Iteration | Integer | 行ループのイテレーションを格納する | ||
Surplus | Integer | イテレーション/規定数の剰余を格納する | ||
WorkText | Short Text | セルから抽出した値を格納する | ||
Text | Long Text | 〇 | WorkTextで抽出した値を規定数分格納する | |
Count | Integer | 1 | 〇 | 各ファイル名に付ける連番の数値を格納する |
■各ステップの解説
# | アクション名(日本語) | アクション名(英語) | ステップ名 |
① | コメント | Do Nothing | READ ME |
② | ページ読込 | Load Page | Excel読込 |
③ | Excel形式表示 | View as Excel | Excel形式表示 |
④ | 変数判定 | Test Variables | シート名有無 |
⑤ | Excel内ループ(シート) | Loop in Excel | Loop Sheets |
⑥ | シート名抽出 | Extract Sheet Name | 先頭シート名抽出 |
⑦ | Excel内ループ(行) | Loop in Excel | Loop Rows |
⑧ | イテレーション取得 | Get Iteration | Get Iteration |
⑨ | 変数の変換 | Convert Variables | 剰余演算 |
⑩ | セル値抽出 | Extract Cell | セル値抽出 |
⑪ | 変数の変換 | Convert Variables | 出力データ作成 |
⑫ | 変数判定 | Test Variables | 規定データ数に到達 |
⑬ | ファイル出力 | Write File | Write File |
⑭ | 変数の変換 | Convert Variables | カウント +1 |
⑮ | 変数の割当 | Assign Variable | テキスト初期化 |
⑯ | 変数判定 | Test Variables | テキストが空白 |
⑰ | ファイル出力 | Write File | Write File |
※①のコメントについては処理を行っていないので割愛します。
② 「ページ読込」ステップ(Excel読込)
変数「WorkExcelPath」に入力したファイルパスからExcelを開きます。
③「Excel形式表示」ステップ(Excel形式表示)
開いたファイルをExcel形式で表示します。
④「変数判定」ステップ(シート名有無)
変数「SheetName」に値が入力されているか判定します。
未入力の場合は直前のトライステップへ戻り、下のブランチへ移行し、⑤の処理を行います。
⑤「Excel内ループ(シート)」ステップ(Loop Sheets)
先頭のシート名を抽出するために、1回のみのループを行います。
「最初のインデックス(First Index)」、「最後のインデックス(Last Index)」項目はどちらも
「0」、「最初から(From First)」を設定します。
また、⑥のファインダーに設定するため、範囲名を「名前付き」に設定します。
⑥「シート名抽出」ステップ(先頭シート名抽出)
先頭のシート名を変数「SheetName」に抽出します。なお、ファインダーでは
「名前付き範囲で検索」を設定し範囲に⑤で設定した名前付き範囲を設定します。
⑦「Excel内ループ(行)」ステップ(Loop Rows)
先頭行を除いたA列を範囲としたループを設定します。
ファインダーの範囲はエクスプレッションで設定し、下記の式を入力しています。
※ループする列を変更する場合はこの式を変更してください。
<式> Input.SheetName + >>!A<<
⑧「イテレーション取得」ステップ(Get Iteration)
⑦のループのイテレーションを変数「Iteration」へ格納します。
⑨「変数の変換」ステップ(剰余演算)
⑧で取得したイテレーションを変数「NumberOfData」で指定された規定数で剰余演算します。
算出結果は変数「Surplus」に格納します。エクスプレッションには下記の式を入力しています。
<式> Iteration % Input.NumberOfData
⑩「セル値抽出」ステップ(セル値抽出)
セルより値を抽出し、変数「WorkText」に格納します。
⑪「変数の変換」ステップ(出力データ作成)
変数「Text」の値に⑩で抽出した「WorkText」の値を結合し、「Text」に格納します。
エクスプレッションには下記の式を入力しています。
<式> Text + WorkText + “\r\n”
⑫「変数判定」ステップ(規定データ数に到達)
変数「Surplus」が「0」の場合(規定数分のデータを抽出した場合)のみ
後続の⑬~⑮の処理を行います。
⑬「ファイル出力」ステップ(Write File)
変数「Text」の内容をテキストで出力します。
エクスプレッションには下記の式を入力しています。
<式> Input.FolderPath + >>\<< + >>Sample Text<< + Count + >>.txt<<
⑭「変数の変換」ステップ(カウント +1)
変数「Count」の値をカウントアップします。(各ファイル名に付ける連番の数値をカウントアップ)
⑮「変数の割当」ステップ(テキスト初期化)
変数「Text」の値を初期化します。
⑯「変数判定」ステップ(テキストが空白)
規定数に満たない状態でループが終了した際に、後続でファイル出力を行います。
⑰「ファイル出力」ステップ(Write File)
変数「Text」の内容をテキストで出力します。
エクスプレッションには下記の式を入力しています。
<式> Input.FolderPath + >>\<< + >>Sample Text<< + Count + >>.txt<<