WinActor

2021.02.15
サンプルシナリオ Excel関連
複数の条件で表のデータを絞り込み、表示されているデータのみ削除を行うサンプルシナリオ

複数の条件で表のデータを絞り込み、表示されているデータのみ削除を行うサンプルシナリオとなります。

サンプルシナリオを通して、Excel操作(指定条件に合致する行を表示)ライブラリの利用方法学習に利用することができます。

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

サンプルシナリオ概要

はじめに

複数の条件で表のデータを絞り込み、表示されているデータのみ削除を行うサンプルシナリオ (以降、本サンプルシナリオ) について説明します。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • 指定された表ファイルから指定された位置の表に対して、指定された条件で表を絞り込みます。
  • 表の項目名を除く表内の表示されているセルを選択します。
    エミュレーションを使用してショートカットキーの[Alt]キー+[;](セミコロン)を実行することで、表示されているセルの選択をしています。
  • 指定された条件と一致するセルが存在する場合は以下の処理を行います。
    • 選択された範囲の表示されている行のみ削除します。
    • 表を絞り込む際に使用した条件を解除します。
    • 指定された表ファイルを別名で保存します。
  • 指定された条件と一致するセルが存在しない場合は以下の処理を行います。
    • Excelから出力されるメッセージを監視ルールで捕捉して「該当するセルが存在しない場合の処理」サブルーチンを呼び出します。
    • 指定されたファイルを保存せずに閉じます。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • ノード/変数/変数値コピー
  • 01_WinActor制御/02_シナリオ制御/シナリオ停止.ums6
  • 04_自動記録アクション/エミュレーション.ums6
  • 18_Excel関連/01_ファイル操作/Excel操作(名前を付けて保存).ums6
  • 18_Excel関連/01_ファイル操作/Excel操作(保存なしで閉じる).ums6
  • 18_Excel関連/08_範囲/Excel操作(範囲選択).ums6
  • 18_Excel関連/09_セル位置/A1形式 次の行へ.ums6
  • 18_Excel関連/11_カーソル操作/Excel操作(カーソル移動).ums6
  • 18_Excel関連/11_カーソル操作/Excel操作(カーソル位置の読み取り).ums6
  • プチライブラリ/Excelのショートカットキーで操作を行うライブラリ
    (プチライブラリはこちらからダウンロードできます)
  • スイートライブラリ/18_Excel関連/Excel操作(指定条件に合致する行を表示)
  • スイートライブラリ/18_Excel関連/Excel操作(指定条件に合致する行を表示を解除)
    (スイートライブラリはこちらからダウンロードできます)

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10、WinActor 6.3.0、Microsoft Excel 365
  • Windows 10、WinActor 7.2.0、Microsoft Excel 365

制約事項

  • 表内に空白行が存在する場合は、正しく表を絞り込むことができません。
  • 絞り込み条件に記号を含めず文字列だけを入力した場合、Excelのバージョンによって絞り込み結果に相違が生じる可能性があります。

本サンプルシナリオの使い方

本サンプルシナリオの実施方法は以下の通りです。

Step1.事前準備

本サンプルシナリオは、同梱されている表が記載されているExcelと絞り込み条件が記載されているExcelを使用しています。
表が記載されているExcel内の表に空白行が存在しないことを確認してください。

Step2.サンプルシナリオの読み込み

ダウンロードしたサンプルシナリオのZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step3.動作に必要な変数の設定・変更

本サンプルシナリオを実行するために必要な値を、変数一覧で設定・変更します。

以下の変数を必要に応じて設定・変更してください。

  • 表ファイル名
    • 操作対象の表が記載されているExcelファイルを絶対パスまたは、相対パスで指定します。
      例)C:\winactor\表.xlsx

  • 表シート名
    • 操作対象の表が記載されているシートを指定します。
      空の場合はアクティブなシートが選択されます。
      例)Sheet1

  • 表位置
    • 絞り込みを行う表の先頭のセルを指定します。
      自動で空白行の手前までを一覧として認識します。
      例)A3

  • 設定ファイル名
    • 絞り込み条件が記載されているExcelファイルを絶対パスまたは、相対パスで指定します。
      例)C:\winactor\絞り込み条件.xlsx

  • 設定シート名
    • 絞り込み条件が記載されているシートを指定します。
      空の場合はアクティブなシートが選択されます。
      例)Sheet1

  • 設定位置
    • 絞り込み条件が記載された表の先頭のセルを指定します。
      自動で空白行の手前までを一覧として認識します。
      例)A3

  • 結果ファイル名
    • 絞り込み削除処理後の別名で保存する表ファイル名を指定します。
      例)結果.xlsx

12251_input01.png

変数一覧画面

Step4.サンプルシナリオの実行

WinActorで本サンプルシナリオを実行します。

Step5.サンプルシナリオの終了後の確認

変数の結果ファイル名に指定したExcelファイルが出力されており、絞り込み条件に該当する行が削除されていることを確認してください。
本サンプルシナリオでは、絞り込み条件が下記の内容となっているため、年月日が2019/1/1と2019/2/3になっている2つの行が削除されます。

絞り込み条件

  • 年月日が2019/1/1から2019/2/28まで
  • 天気概況(昼:06時~18時)が晴

トラブルシューティング

本サンプルシナリオでは、変数指定が不十分であった場合、エラーメッセージが出力されます。
詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

サンプルシナリオで使用している実装テクニックについて解説します。

1.Excel操作(指定条件に合致する行を表示)について

Excel操作(フィルタ複数条件設定)ライブラリでは絞り込み条件を増減させるためにスクリプトを編集する必要がありますが、
Excel操作(指定条件に合致する行を表示)ライブラリではスクリプトを編集することなく、絞り込み条件を増減することができます。

2.絞り込み条件の設定方法

本サンプルシナリオでは、Excel操作(指定条件に合致する行を表示)ライブラリを使用することで、1つのノードで複数の条件を設定して表の絞り込みを行うことを可能としています。
Excel操作(指定条件に合致する行を表示)ノードで使用する絞り込み条件の設定方法について説明します。

絞り込み条件.xlsxに、絞り込みを行いたい項目を記載し、その下に条件を記載します。
例)
年月が2019年1月1日以降で、天気が晴

12251_input02.png

絞り込み条件の設定例



条件を記載する際に使用できる条件式は以下になります。
指定した文字列そのものを条件にする場合は「=」に続けて対象の文字列
例)
「晴」を選択する場合は「=晴」

12251_input03.png

指定した文字列そのものを条件にする場合の設定例



指定した文字列を含めない条件にする場合は「<>」に続けて対象の文字列
例)
「晴」以外を選択する場合は「<>晴」

12251_input04.png

指定した文字列を含めない条件にする場合の設定例



指定した数値以上を条件にする場合は「>=」に続けて対象の数値
例)
20以上を選択する場合は「>=20」

12251_input05.png

指定した数値以上を条件にする場合の設定例



指定した数値以下を条件にする場合は「<=」に続けて対象の数値
例)
20以下を選択する場合は「<=20」

12251_input06.png

指定した数値以下を条件にする場合の設定例



指定した数値より大きいを条件にする場合は「>」に続けて対象の数値
例)
20より大きいを選択する場合は「>20」

12251_input07.png

指定した数値より大きいを条件にする場合の設定例



指定した数値より小さいを条件にする場合は「<」に続けて対象の数値
例)
20未満を選択する場合は「<20」

12251_input08.png

指定した数値より小さいを条件にする場合の設定例



指定した文字列で始まるを条件にする場合は対象の文字列に続けて「*」
例)
晴を含む文字列

12251_input09.png

指定した文字列で始まるを条件にする場合の設定例



2つ以上の条件を設定する際に「AND条件(なおかつ)」としたい場合は、条件を同一行に記載します。
例)
2019年4月1日から2019年6月30日までの期間で、天気が晴、最高気温が20℃以下、最低気温が10℃以上

12251_input10.png

2つ以上の条件を設定する際に「AND条件(なおかつ)」としたい場合の設定例



2つ以上の条件を設定する際に「OR条件(または)」としたい場合は、条件を異なる行に記載します。
例)
2019年4月1日から2019年6月30日までの期間で、天気が晴または晴後曇

12251_input11.png

2つ以上の条件を設定する際に「OR条件(または)」としたい場合の設定例

3.行削除以外での使用例

本サンプルシナリオで利用している複数の条件で絞り込んだ行の削除以外に、
絞り込んだ行から情報の取得を行い、プチライブラリのExcel操作(カーソルの範囲のセルをコピー)ライブラリと同梱ライブラリのExcel操作(ペースト)ライブラリを使用して別シートや別ファイルにまとめることや、エミュレーションノードでAlt+F1を実行しグラフの作成などを行うことも可能です。

4.絞り込み条件に該当するセルが存在しない場合の動作

表の絞り込みを行った後に該当するセルが存在しない場合は、監視ルールで設定しているエラーダイアログを捕捉して「該当するセルが存在しない場合の処理」サブルーチンを呼び出し、以下のメッセージを出力します。

12251_input12.png

エラーメッセージ

変更履歴

版数 日付 修正内容
版数
1.0版
日付
2021/2/15
修正内容
初版
版数
1.1版
日付
2024/1/16
修正内容
・注意事項を削除
・ファイル名を「SS2102_12251_ExcelOperation_DeleteRowsThatMatchConditions_1.0.1.zip」に変更

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

"Excel関連"に関連するその他のサンプルシナリオ

サンプルシナリオ一覧へ戻る
当サイトでは、お客さまに最適なユーザー体験をご提供するためにCookieを使用しています。当サイトをご利用いただくことにより、お客さまがCookieの使用に同意されたものとみなします。詳細は、「プライバシーポリシー」をご確認ください。