概要
Excelシート内(下記)に用意した「数字A」と「数字B」を、Windowsの電卓で足し算をして、「合計」に全行分を計算して書き込みます。
数字の入力は【クリック】アクティビティで操作させます。2桁以上の数字は電卓のキー操作が出来ない為、例外(エラー)が発生しますので、【トライキャッチ】を使って「NG」と書き込みます。
完成ワークフロー全体図
主な使用アクティビティ
アプリケーションを使用
Excelアプリケーションスコープ
範囲を読み込み
繰り返し (データ テーブルの各行)
代入
トライキャッチ
クリック
テキストを取得
セルに書き込み
変数
[名前]|[変数の型]|[用途]
str_String|String|計算結果
dt_DataTable|DataTable|計算するExcelの表
Int_Counter|Int32|合計を書き込むセルの行番号
str_数字A|String|dt_DataTableの数字A列
str_数字B|String|dt_DataTableの数字B列
作成手順
1.はじめに(作業の流れ)
→実際に手作業でやる流れを確認します。
①電卓起動
②数字A「1」クリック
③「+」クリック
④数字B「9」クリック
⑤「=」クリック
⑥Excel「合計」列に、計算結果「10」を書き込み
2.「1.はじめに」の①~⑤の操作と⑥の計算結果を取得
→【アプリ/Webレコーダー】もしくは、各アクティビティを組み合わせて、一連の計算操作のアウトラインを下記のように作成します。計算結果を「str_String」に代入します。
3.【アプリケーションを使用】内に、【Excelアプリケーションスコープ】と【範囲を読み込み】を配置
→「SampleData.xlsx」シート名「202308h5」の情報をデータテーブル「dt_DataTable」で取得します。【範囲を読み込み】の[ヘッダーを追加]にチェック。
4.【繰り返し (データテーブルの各行)】を配置
→【繰り返し (データテーブルの各行)】から1行ずつ値を取得します。プロパティの現在のインデックスに、変数「Int_Counter」を設定。「0」から始まり、繰り返すごとに「+1」が加算されます。
▼取得したDataRow例(1行目)▼
DataRow { HasErrors=false, ItemArray=object[3] { 1, 9, [] }, RowError=””, RowState=Added, Table=[DataTable] }
5.【複数代入】を配置
→【繰り返し (データテーブルの各行)】内に配置し、DataRowの情報を変数「str_数字A」「str_数字B」に代入します。また合計列に書き込む際に使用する「Int_Counter」の1回目は「0」が入る為、「2」を足して、セルの2行目から書き込まれるようします。繰り返されるごとに「2、3、4…」とカウントされます。
str_数字A = Row(“数字A”).ToString
str_数字B = Row(“数字B”).ToString
Int_Counter = Int_Counter + 2
6.2番目で作成した数字Aの【クリック】~計算結果【テキストを取得】までのアクティビティを、【繰り返し (データテーブルの各行)】内に配置
→【複数代入】アクティビティの下に配置します。
7.数字の【クリック】の厳密セレクターを変数に置き換える
→「プロパティ>ターゲット>厳密セレクター」から、レコーディングした際にクリックした「(例)1」を「str_数字A」に置き換えます(※2箇所)。同様に「(例)9」を「str_数字B」も置き換えます。
変更前
変更後
※該当箇所を「右クリック」→「変数を使用」
8.「数字Aの【クリック】~計算結果【テキストを取得】までのアクティビティ」を、トライキャッチの[Try]に入れ、[Catches]には【代入】、[Finally]には【セルに書き込み】を配置
→数字A列の5番目は「55」となっている為、電卓に入力できず、例外が発生します。(※実際は【文字を入力】アクティビティで入力可能です)それを[Catches]の【代入】で、計算結果の変数「str_String」に「NG」を代入します。必ず実行される[Finally]には、「str_String」の「計算結果」か「NG」の情報が書き込まれます。