Excelのデータを数行ずつ転記するサンプルロボット

フォローする

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ご利用の前に、あらかじめ以下の点をご了承いただきますようお願いいたします。

 ・サンプルロボは下位のバージョンで開けません。
  <例>10.3のサンプルロボットファイルを10.2のDSで開けない。

 ・サンプルロボの動作保証はいたしかねます。
  お客さま責任にてダウンロード、ご活用お願いします。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 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  〇  各ファイル名に付ける連番の数値を格納する

 

■各ステップの解説

mceclip0.png

#  アクション名(日本語)  アクション名(英語)  ステップ名
 コメント  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)」を設定します。
また、⑥のファインダーに設定するため、範囲名を「名前付き」に設定します。

mceclip1.png

⑥「シート名抽出」ステップ(先頭シート名抽出)
先頭のシート名を変数「SheetName」に抽出します。なお、ファインダーでは
「名前付き範囲で検索」を設定し範囲に⑤で設定した名前付き範囲を設定します。

⑦「Excel内ループ(行)」ステップ(Loop Rows)
先頭行を除いたA列を範囲としたループを設定します。
ファインダーの範囲はエクスプレッションで設定し、下記の式を入力しています。
※ループする列を変更する場合はこの式を変更してください。
<式> Input.SheetName + >>!A<<

mceclip2.png

⑧「イテレーション取得」ステップ(Get Iteration)
⑦のループのイテレーションを変数「Iteration」へ格納します。

⑨「変数の変換」ステップ(剰余演算)
⑧で取得したイテレーションを変数「NumberOfData」で指定された規定数で剰余演算します。
算出結果は変数「Surplus」に格納します。エクスプレッションには下記の式を入力しています。
<式> Iteration % Input.NumberOfData

mceclip3.png

⑩「セル値抽出」ステップ(セル値抽出)
セルより値を抽出し、変数「WorkText」に格納します。

⑪「変数の変換」ステップ(出力データ作成)
変数「Text」の値に⑩で抽出した「WorkText」の値を結合し、「Text」に格納します。
エクスプレッションには下記の式を入力しています。
<式> Text + WorkText + “\r\n”

mceclip4.png

⑫「変数判定」ステップ(規定データ数に到達)
変数「Surplus」が「0」の場合(規定数分のデータを抽出した場合)のみ
後続の⑬~⑮の処理を行います。

⑬「ファイル出力」ステップ(Write File)
変数「Text」の内容をテキストで出力します。
エクスプレッションには下記の式を入力しています。
<式> Input.FolderPath + >>\<< + >>Sample Text<< + Count + >>.txt<<

mceclip5.png

⑭「変数の変換」ステップ(カウント +1)
変数「Count」の値をカウントアップします。(各ファイル名に付ける連番の数値をカウントアップ)

⑮「変数の割当」ステップ(テキスト初期化)
変数「Text」の値を初期化します。

mceclip6.png

⑯「変数判定」ステップ(テキストが空白)
規定数に満たない状態でループが終了した際に、後続でファイル出力を行います。

⑰「ファイル出力」ステップ(Write File)
変数「Text」の内容をテキストで出力します。
エクスプレッションには下記の式を入力しています。
<式> Input.FolderPath + >>\<< + >>Sample Text<< + Count + >>.txt<<

0人中0人がこの記事が役に立ったと言っています

コメント

0件のコメント

ログインしてコメントを残してください。