IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社キーエンスの特許一覧

特開2023-54409自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023054409
(43)【公開日】2023-04-14
(54)【発明の名称】自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
(51)【国際特許分類】
   G06F 8/38 20180101AFI20230407BHJP
   G06F 16/38 20190101ALI20230407BHJP
【FI】
G06F8/38
G06F16/38
【審査請求】未請求
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2021163225
(22)【出願日】2021-10-04
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110003225
【氏名又は名称】弁理士法人豊栖特許事務所
(72)【発明者】
【氏名】木原 一挙
(72)【発明者】
【氏名】柳瀬 健吾
【テーマコード(参考)】
5B175
5B376
【Fターム(参考)】
5B175DA01
5B376BC32
5B376BC43
5B376BC50
5B376BC52
5B376FA13
(57)【要約】
【課題】ユーザが書くべきコード量を低減し自動化プログラムの作成の容易化を図る。
【解決手段】転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラムの生成方法であって、第一アプリケーションと、第二アプリケーションと、を選択させ、概略手順作成部で概略手順を作成する工程と、概略手順作成部で選択された第一アプリケーションのデータの内、取得したい範囲を取得範囲指定部で選択する工程と、取得範囲指定部で設定された範囲のデータを、表形式の表データとしてメモリ部に保持する工程と、概略手順作成部で選択された第二アプリケーションの、表データに基づくデータを転記する転記先を指定する工程と、概略手順作成部で作成された概略手順と、取得範囲指定部で設定された範囲と、転記先とに基づいて、自動化プログラムを生成する工程とを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラムの生成方法であって、
前記第一アプリケーションと、前記第二アプリケーションと、を選択させ、概略手順作成部で概略手順を作成する工程と、
前記概略手順作成部で選択された前記第一アプリケーションのデータの内、取得したい範囲を取得範囲指定部で選択する工程と、
前記取得範囲指定部で設定された範囲のデータを、表形式の表データとしてメモリ部に保持する工程と、
前記概略手順作成部で選択された前記第二アプリケーションの、前記表データに基づくデータを転記する転記先を指定する工程と、
前記概略手順作成部で作成された前記概略手順と、前記取得範囲指定部で設定された範囲と、前記転記先とに基づいて、自動化プログラムを生成する工程と、
を含む自動化プログラム作成方法。
【請求項2】
請求項1に記載の自動化プログラム作成方法であって、
概略手順を作成する工程が、
前記第一アプリケーションからの前記データの取得動作と、
前記第二アプリケーションへの前記データの転記動作を含む自動化プログラム作成方法。
【請求項3】
請求項2に記載の自動化プログラム作成方法であって、さらに、
前記第二アプリケーションに転記するデータ転記単位を転記単位指定部で設定させる工程を含む自動化プログラム作成方法。
【請求項4】
請求項3に記載の自動化プログラム作成方法であって、さらに、
前記転記単位指定部で設定されたデータ転記単位に基づいて、前記概略手順作成部で選択された前記第二アプリケーションに転記される転記データを転記データプレビュー部に表示させる工程を含む自動化プログラム作成方法。
【請求項5】
請求項1~4のいずれか一項に記載の自動化プログラム作成方法であって、
前記取得範囲指定部で取得したい範囲を選択する工程が、前記第一アプリケーションの複数のデータファイルを選択する工程を含む自動化プログラム作成方法。
【請求項6】
請求項1~5のいずれか一項に記載の自動化プログラム作成方法であって、
前記表データを前記メモリ部に保持して取り込んだ後、前記メモリ部の表データに対する操作を受け付け、
取得するデータに前記表データに対する操作に対応する処理を行ったデータの転記を行う自動化プログラムを生成する、自動化プログラム作成方法。
【請求項7】
請求項6に記載の自動化プログラム作成方法であって、
前記メモリ部の表データに対する操作が、フィルタの設定であり、
前記設定されたフィルタの条件に合致した値を参照して転記を行う自動化プログラムを作成する、自動化プログラム作成方法。
【請求項8】
請求項6又は7に記載の自動化プログラム作成方法であって、
前記メモリ部の表データに対する操作が、第一の表データと第二の表データとを、当該表データに共通する列項目に基づいて結合する横方向の結合であり、
当該共通する列項目に基づいて、第一の表データに含まれるデータと第二の表データに含まれるデータとを対応付けて転記する自動化プログラムを作成する自動化プログラム作成方法。
【請求項9】
請求項6又は7に記載の自動化プログラム作成方法であって、
前記メモリ部の表データに対する操作が、複数の表データを、当該複数の表データの全列項目を有する表データに結合する縦方向の結合である自動化プログラム作成方法。
【請求項10】
請求項6~9のいずれか一項に記載の自動化プログラム作成方法であって、
前記メモリ部の表データに対する操作が、複数の表データの差分の抽出である自動化プログラム作成方法。
【請求項11】
請求項6~9のいずれか一項に記載の自動化プログラム作成方法であって、
前記メモリ部の表データに対する操作が、複数の表データの共通項目の抽出である自動化プログラム作成方法。
【請求項12】
請求項1~11のいずれか一項に記載の自動化プログラム作成方法であって、
前記転記データを表示させる工程が、前記取得元データを表データに整形して、整形された表データを前記転記単位プレビュー部に表示させるものである自動化プログラム作成方法。
【請求項13】
請求項1~12のいずれか一項に記載の自動化プログラム作成方法であって、さらに、
前記概略手順作成部で選択された前記第一アプリケーションのデータに対し、名前を付けて前記表データとして前記メモリ部に保持する工程を含む自動化プログラム作成方法。
【請求項14】
請求項1~13のいずれか一項に記載の自動化プログラム作成方法であって、
前記転記単位指定部で設定させるデータ転記単位として、一行毎、全体、グルーピングの少なくともいずれかを選択可能としてなる自動化プログラム作成方法。
【請求項15】
請求項14に記載の自動化プログラム作成方法であって、
前記転記単位プレビュー部に表示される転記データが表形式で表示された状態で、前記設定されたデータ転記単位に応じた枠状が、該表形式に重ねて表示されてなる自動化プログラム作成方法。
【請求項16】
請求項1~15のいずれか一項に記載の自動化プログラム作成方法であって、
前記第一アプリケーションが、Webブラウザであり、
前記取得範囲指定部で選択されるデータの範囲を、htmlファイル中で指定された特定範囲のデータと、同階層のデータとしてなる自動化プログラム作成方法。
【請求項17】
請求項1~16のいずれか一項に記載の自動化プログラム作成方法であって、
前記第一アプリケーションが、Webブラウザであり、
前記取得範囲指定部で選択されるデータの範囲を、複数ページに分かれて表示された場合に、htmlファイル中で指定された特定範囲のデータと対応する次ページのデータとしてなる自動化プログラム作成方法。
【請求項18】
転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラムを生成する自動化プログラム作成プログラムであって、
前記第一アプリケーションと、前記第二アプリケーションと、を選択させ、概略手順作成部で概略手順を作成する機能と、
前記概略手順作成部で選択された前記第一アプリケーションのデータの内、取得したい範囲を取得範囲指定部で選択する機能と、
前記取得範囲指定部で設定された範囲のデータを、表形式の表データとしてメモリ部に保持する機能と、
前記概略手順作成部で選択された前記第二アプリケーションの、前記表データに基づくデータを転記する転記先を指定する機能と、
前記概略手順作成部で作成された前記概略手順と、前記取得範囲指定部で設定された範囲と、前記転記先とに基づいて、自動化プログラムを生成する機能と、
をコンピュータに実現させるための自動化プログラム作成プログラム。
【請求項19】
請求項18に記載のプログラムを格納したコンピュータで読み取り可能な記録媒体又は記憶した機器。
【請求項20】
転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラム作成装置であって、
前記第一アプリケーションと、前記第二アプリケーションとを選択させ、概略手順を作成するための概略手順作成部と、
前記概略手順作成部で選択された前記第一アプリケーションのデータの内、取得したい範囲を選択するための取得範囲指定部と、
前記取得範囲指定部で設定された範囲のデータを、表形式の表データとして保持するメモリ部と、
前記概略手順作成部で選択された前記第二アプリケーションの、前記表データに基づくデータを転記する転記先を指定する転記先指定部と、
前記概略手順作成部で作成された前記概略手順と、前記取得範囲指定部で設定された範囲と、前記転記先指定部で指定された転記先とに基づいて、自動化プログラムを生成する自動化プログラム生成部と、
を備える自動化プログラム作成装置。
【請求項21】
転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラム作成装置であって、
前記第一アプリケーションからの前記データの取得動作と、
前記第二アプリケーションへの前記データの転記動作を、
選択させ、
前記選択された前記第一アプリケーションの任意のデータファイルに含まれるデータの内、取得したい範囲を選択させ、
前記選択された範囲のデータを、表形式の取得元データとして、前記第二アプリケーションに転記するデータ転記単位を設定させ、
前記設定されたデータ転記単位に基づいて、前記選択された前記第二アプリケーションに転記される転記データを表示させ、
前記選択された前記第一アプリケーションの、前記設定された範囲の表形式の取得元データを、前記設定されたデータ転記単位に基づいて、前記選択された前記第二アプリケーションに転記する自動化プログラムを生成する
プロセッサ部と、
前記設定された前記表形式の取得元データを表データとして保持するメモリ部と、
を備える自動化プログラム作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器に関する。
【背景技術】
【0002】
ロボティックプロセスオートメーション(RPA)では、人がコンピュータのデスクトップ環境で行っていた作業をプログラムが実行することにより、人がデスクトップ環境で行っていた作業が自動化される。RPAにおいて作業を実行するプログラムであるRPAプログラムを作成するためには、ユーザがコードを書く必要がある。
【0003】
RPAに類似するソリューションとして、オペレータによるストレージ装置の管理業務に代えて、ストレージ装置を管理するシナリオを実行するソリューションが知られている。このようなソリューションにおいては、テンプレートを用いてシナリオ作成を容易にする方法が知られている。特許文献1ではテンプレートに対して変数を埋め込むことによりシナリオが作成されることが開示されている。
【0004】
しかしながら、テンプレートに対して変数を埋め込んで所望のシナリオを生成する手法をRPAプログラムの作成に適用すると、かえってRPAプログラムの作成が困難になる虞がある。通常、ユーザがコンピュータのデスクトップ環境で行う作業は複数のアプリケーションを対象とするため、RPAプログラムにより実行される作業も複数のアプリケーションを対象とする。このため、変数を埋め込むことによってRPAプログラムが生成できるようなテンプレートは、自動化する対象の作業でアプリケーションが使用される順序が反映される必要がある。RPAプログラムを作成する作成者は、自動化する対象の業務について、使用されるアプリケーションの順序と、当該アプリケーションで使用する変数の種類とを正しく理解したうえで、多岐にわたるテンプレートの中から適切なテンプレートを選択する必要があり、プログラム作成に不慣れな者にとって困難であった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005-339213号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示の目的の一は、テンプレートの数を抑えながら、ユーザが書くコード量を低減した、自動化プログラムの作成を容易に行えるようにした自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器を提供することにある。
【課題を解決するための手段】
【0007】
本発明の実施形態に係る自動化プログラム作成方法によれば、転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラムの生成方法であって、前記第一アプリケーションと、前記第二アプリケーションと、を選択させ、概略手順作成部で概略手順を作成する工程と、前記概略手順作成部で選択された前記第一アプリケーションのデータの内、取得したい範囲を取得範囲指定部で選択する工程と、前記取得範囲指定部で設定された範囲のデータを、表形式の表データとしてメモリ部に保持する工程と、前記概略手順作成部で選択された前記第二アプリケーションの、前記表データに基づくデータを転記する転記先を指定する工程と、前記概略手順作成部で作成された前記概略手順と、前記取得範囲指定部で設定された範囲と、前記転記先とに基づいて、自動化プログラムを生成する工程とを含むことができる。上記構成により、第一アプリケーションのデータを表形式で第二アプリケーションに転記させるように設定することで、ユーザに対し入力したい所望の範囲を指定し易く、さらに転記されるデータをイメージし易くなり、従来複雑であった自動化プログラムの作成を容易に行える。
【0008】
本発明の実施形態に係る自動化プログラム作成プログラムによれば、転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラムを生成する自動化プログラム作成プログラムであって、前記第一アプリケーションと、前記第二アプリケーションと、を選択させ、概略手順作成部で概略手順を作成する機能と、前記概略手順作成部で選択された前記第一アプリケーションのデータの内、取得したい範囲を取得範囲指定部で選択する機能と、前記取得範囲指定部で設定された範囲のデータを、表形式の表データとしてメモリ部に保持する機能と、前記概略手順作成部で選択された前記第二アプリケーションの、前記表データに基づくデータを転記する転記先を指定する機能と、前記概略手順作成部で作成された前記概略手順と、前記取得範囲指定部で設定された範囲と、前記転記先とに基づいて、自動化プログラムを生成する機能とをコンピュータに実現させることができる。上記構成により、第一アプリケーションのデータを表形式で第二アプリケーションに転記させるように設定することで、ユーザに対し入力したい所望の範囲を指定し易く、さらに転記されるデータをイメージし易くなり、従来複雑であった自動化プログラムの作成を容易に行える。
【0009】
さらにまた、本発明の実施形態に係るコンピュータで読み取り可能な記録媒体又は記憶した機器は、上記プログラムを格納する媒体又は該プログラムを記憶した機器である。記録媒体には、CD-ROM、CD-R、CD-RWやフレキシブルディスク、磁気テープ、MO、DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW、Blu-ray(商品名)、UHD BD(商品名)、HD DVD(AOD:商品名)等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記憶した機器には、上記プログラムがソフトウェアやファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ(FPGA、ASIC)等のハードウエア、又はプログラムソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエアモジュールとが混在する形式で実現してもよい。また本明細書においてコンピュータで読み取り可能な記録媒体は、非一過性で有形の媒体、又は一過性の伝搬信号を含む。
【0010】
本発明の実施形態に係る自動化プログラム作成装置によれば、転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラム作成装置であって、前記第一アプリケーションと、前記第二アプリケーションとを選択させ、概略手順を作成するための概略手順作成部と、前記概略手順作成部で選択された前記第一アプリケーションのデータの内、取得したい範囲を選択するための取得範囲指定部と、前記取得範囲指定部で設定された範囲のデータを、表形式の表データとして保持するメモリ部と、前記概略手順作成部で選択された前記第二アプリケーションの、前記表データに基づくデータを転記する転記先を指定する転記先指定部と、前記概略手順作成部で作成された前記概略手順と、前記取得範囲指定部で設定された範囲と、前記転記先指定部で指定された転記先とに基づいて、自動化プログラムを生成する自動化プログラム生成部とを備えることができる。上記構成により、第一アプリケーションのデータを表形式で第二アプリケーションに転記させるように設定することで、ユーザに対し入力したい所望の範囲を指定し易く、さらに転記されるデータをイメージし易くなり、従来複雑であった自動化プログラムの作成を容易に行える。
【0011】
本発明の実施形態に係る自動化プログラム作成装置によれば、転記元の第一アプリケーションから取得したデータに基づき、転記先の第二アプリケーションに転記を行う操作を自動化する自動化プログラム作成装置であって、前記第一アプリケーションからの前記データの取得動作と、前記第二アプリケーションへの前記データの転記動作を、選択させ、前記選択された前記第一アプリケーションの任意のデータファイルに含まれるデータの内、取得したい範囲を選択させ、前記選択された範囲のデータを、表形式の取得元データとして、前記第二アプリケーションに転記するデータ転記単位を設定させ、前記設定されたデータ転記単位に基づいて、前記選択された前記第二アプリケーションに転記される転記データを表示させ、前記選択された前記第一アプリケーションの、前記設定された範囲の表形式の取得元データを、前記設定されたデータ転記単位に基づいて、前記選択された前記第二アプリケーションに転記する自動化プログラムを生成するプロセッサ部と、前記設定された前記表形式の取得元データを表データとして保持するメモリ部とを備えることができる。上記構成により、第一アプリケーションのデータを表形式で第二アプリケーションに転記させるように設定することで、ユーザに対し入力したい所望の範囲を指定し易く、さらに転記されるデータをイメージし易くなり、従来複雑であった自動化プログラムの作成を容易に行える。
【発明の効果】
【0012】
本開示の一形態によれば、テンプレートの数を抑えながら、ユーザが書くコード量を低減して、自動化プログラムの作成を容易にすることができる。
【図面の簡単な説明】
【0013】
図1】自動化したい一連の作業を示す模式図である。
図2】本発明の一実施形態に係る自動化プログラム作成装置のハードウェア構成を示すブロック図である。
図3図2のプロセッサ部の機能ブロック図である。
図4】本発明の一実施形態に係る自動化プログラム作成プログラムのソフトウェア構成を示すブロック図である。
図5】自動化プログラム作成プログラムと、表計算ソフトとのやりとりを示す模式図である。
図6】自動化プログラム作成プログラムと、Webブラウザとのやりとりを示す模式図である。
図7】自動化プログラム作成プログラムと、自動化対象ソフトとのやりとりの一例を示す模式図である。
図8】RPAソフトを用いて自動化プログラムを作成する手順を示すフローチャートである。
図9】概略手順作成画面を示す模式図である。
図10】表計算ソフト取込詳細設定を行う手順を示すフローチャートである。
図11】表計算ソフト取得範囲指定画面を示す模式図である。
図12】転記設定の手順を示すフローチャートである。
図13】一般転記詳細設定画面を示す模式図である。
図14】操作レコード画面の一例を示す模式図である。
図15】アクティビティ一覧画面を示す模式図である。
図16】操作レコード画面を設定する画面を示す模式図である。
図17】表データ転記出力詳細設定画面の一例を示す模式図である。
図18図17で表の左上端のセルを選択した状態を示す模式図である。
図19】列名選択肢が表示された状態を示す模式図である。
図20】表ナビ画面を示す模式図である。
図21】表操作画面を示す模式図である。
図22図22Aは経費一覧表、図22Bは新たに生成された表の一例を示す模式図である。
図23】結合対象の表を示す模式図である。
図24図23の表を「客先コード」で結合させた表である。
図25】縦積み対象の表を示す模式図である。
図26図25の表を表縦積み機能でまとめた表である。
図27図23の表を表縦積み機能でまとめた表である。
図28】差分を取る対象となる表を示す模式図である。
図29図28の差分を取った表を示す模式図である。
図30図28の共通部分を抜き出した表を示す模式図である。
図31】対象Webページにおいて、一の記事のタイトルを手動で選択した状態を示す模式図である。
図32図31のWebページにおいて、複数の記事のタイトルを自動で選択した状態を示す模式図である。
図33】出力詳細設定画面の一例を示す模式図である。
図34図33の出力詳細設定画面においてWebスクレイピング抽出プレビュー表示欄で表示されるWebスクレイピング抽出プレビュー表示の例を示す模式図である。
図35】Webスクレイピング抽出プレビュー表示の他の例を示す模式図である。
図36】Web取込詳細設定を行う手順を示すフローチャートの前段である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するための自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器を例示するものであって、本発明は自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器を以下のものに特定しない。また、本明細書は特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
[実施形態1]
【0015】
自動化プログラム作成装置は、一般にRPA(Robotic Process Automation)と呼ばれる、パソコンのデスクトップ環境でユーザが行っていた作業をプログラムで代替して自動化する自動化プログラムを、ユーザが作成する作業を支援する装置である。図1は、本発明の自動化プログラム作成装置を用いて、任意のファイル中のデータ、もしくはアプリケーション中のデータを、任意のファイルのフォーム、もしくはアプリケーションのフォームに出力する転記作業を実行するRPAプログラムを作成する方法を示す概念図である。図1において左に位置する表計算ソフトSS、WebブラウザWB、及び自動化対象ソフトGSは転記作業で転記されるデータを表示する転記元アプリケーションである。図1において右に位置する表計算ソフトSS、WebブラウザWB、自動化対象ソフトGS、及びメールソフトMSは、転記作業で転記されるデータが出力される転記先アプリケーションである。なお、本実施形態において自動化対象ソフトGSは、デスクトップ環境でユーザが操作可能なアプリケーション全般を示す。例えば、本実施形態における転記元アプリケーションとしての自動化対象ソフトGSは、表計算ソフトSS及びWebブラウザWB以外の、ユーザが操作可能なアプリケーションを示す。また、例えば、本実施形態における転記先アプリケーションとしての自動化対象ソフトGSは、表計算ソフトSS、WebブラウザWB、及びメールソフトMS以外の、ユーザが操作可能なアプリケーションを示す。
【0016】
本実施形態では、転記作業を、転記元アプリケーションからデータを取得し、転記先アプリケーションに出力する作業、と定義する。例えば、表計算ソフトSSのデータファイル中のデータを、同じ表計算ソフトSSの別のデータファイルに転記する転記作業は、図1では、図1中の左に示される、転記元アプリケーションとしての表計算ソフトSSのデータファイルからデータを取得して、当該データ、もしくは当該データに基づくデータを、図1中の右に示される転記先アプリケーションとしての表計算ソフトSSのデータファイルに出力する作業として示される。また、Webブラウザで閲覧しているページ中のデータを所定のソフトのフォームに転記する作業は、図1では、図1中の左に示される転記元アプリケーションとしてのWebブラウザWBからデータを取得して、当該データ、もしくは当該データに基づくデータを、図1中の右に示される転記先アプリケーションとしての自動化対象ソフトGSに出力する作業として示される。
【0017】
ユーザがこのような転記作業を実行するRPAプログラムを作成するときには、どのデータを変数として扱うのか、どのようにその変数を扱うのか、を考慮する必要がある。例えば、転記元アプリケーションからどのデータをどのような変数として取得するのか、取得したデータをどのように編集して転記先に出力するためのデータに加工するのか、転記先アプリケーションに対してどの変数をどのように出力するのか、といったことを考慮する必要がある。変数の扱い方を考慮しながらプログラムを作成するのは、プログラムに不慣れなユーザにとって困難である。本実施形態においては、図1に示すように、転記元アプリケーションから取得するデータを表として保持することによって、変数の扱い方に係る指定を容易にする。詳細は後述する。
【0018】
図2は、本実施形態の自動化プログラム作成装置として機能する汎用のコンピュータPCの構成を示す。コンピュータPCは、ディプレイ等の表示部11と、入力部12と、バス13と、通信部14と、プロセッサ部20と、メモリ部15と、ストレージ部16と、を備える。コンピュータPCに自動化プログラム作成プログラムがインストールされることによって、コンピュータPCは自動化プログラム作成装置として機能する。本実施例にでは、汎用のコンピュータPCが自動化プログラム作成装置として機能するが、専用の自動化プログラム作成装置がハードウェアで構成されてもよい。
【0019】
表示部11は、図1に示される各アプリケーションや、自動化プログラム作成プログラムにより提供される画面情報を表示する。表示部11は、例えば液晶ディスプレイ(LCD)、有機EL等で構成される。表示部11はタッチパネルで構成されてもよく、この場合、タッチパネルは表示部11と入力部12とを兼ねる。入力部12は、キーボード12a、マウス12b、タッチパッド12c等の入力デバイスである。バス13は、各部材間でデータのやりとりを行うためのデータ伝送路を構成する。通信部14は、外部機器との間でデータ通信を行うための部材であり、イーサネット(商品名)やIEEE802.x等の規格化された通信インターフェースやモジュールが利用できる。このように外部機器との接続は、有線や無線で行うことができる。プロセッサ部20は各種演算や処理を行う部材であり、CPUやMPU、SoC、ASICなどで好適に実現できる。メモリ部15はコンピュータプログラムの実行時にロードモジュールが展開され、コンピュータプログラムの実行時に発生する一時的なデータ等を保持する。このようなメモリ部15は、SRAM、SDRAM等の揮発性メモリで構成されたRAMや、EEPROM等の不揮発性メモリで構成されたROMが利用できる。ストレージ部16は、自動化プログラム実行ファイルやデータや設定情報等の各種の情報を保持するための部材である。このストレージ部16は、ハードディスクや半導体メモリ、可搬メディア等で構成される。
(プロセッサ部20)
【0020】
図3は、本実施形態の自動化プログラム生成装置として機能するコンピュータPCのプロセッサ部20の機能を示す機能ブロック図である。プロセッサ部20は自動化プログラム生成部25と自動化プログラム実行部26とを有する。自動化プログラム生成部25は自動化プログラムを生成するための機能ブロックであり、概略手順作成部21と、取得範囲指定部22と、転記指定部23と、操作レコード設定部48と、を有する。自動化プログラム実行部26は、自動化プログラム生成部25により生成された自動化プログラムを実行するための機能ブロックである。
【0021】
概略手順作成部21は、自動化する転記作業における各アプリ―ケーション間でのデータの受け渡しを示す概略手順を設定するための機能ブロックである。概略手順作成部21は、繰返設定部31を有する。繰返設定部31は、概略手順作成部21により設定された概略手順のうち、繰り返し行われる手順を設定するための機能ブロックである。
【0022】
取得範囲指定部22は、転記元アプリケーションのデータのうち、取得するデータが存在する範囲を指定するための機能ブロックであり、当該範囲を指定するための画面情報を表示したり、当該画面情報に対するユーザの指定を受け付けたりする。本実施形態において、転記元アプリケーションのデータとは、転記元アプリケーションにより扱われるファイルに含まれるデータと、転記元アプリケーションの機能により表示される画面情報に含まれるデータと、を含む。例えば、転記元アプリケーションが表計算ソフトSSであり、表計算ソフトSSにより表形式で表示されるファイルからデータを取得する場合が、転記元アプリケーションにより扱われるファイルに含まれるデータを取得する場合である。この場合、ファイルにおいて取得するデータが存在する範囲の指定が受け付ける。特に、表計算ソフトSSにより表形式で表示されるファイルからデータを取得する場合には、当該表の行と列とが指定されることにより、取得するデータが存在する範囲が指定される。また、例えば、転記元アプリケーションが自動化対象ソフトGSであり、当該ソフトの機能により表示される文字列をデータとして取得する場合が、転記元アプリケーションの機能により表示される画面情報に含まれるデータを取得する場合である。この場合も、画面情報において取得する文字列が存在する範囲の指定を受け付ける。なお、詳細は後述するが、表計算ソフトSSにおける行と列とによるデータの指定のような、対象のアプリケーションに固有の方法によるデータの指定が困難な場合は、後述する操作レコード設定部48の機能により、データの取得範囲が指定される。
【0023】
また、取得範囲指定部22は、自動表認識実行部35を有する。自動表認識実行部35は、表計算ソフトSSにより扱われるものの、データの配置が一定ではなくユーザが取得するデータの範囲を指定しにくい形状のファイルから、データを抽出し、ユーザが範囲指定しやすい形状に整形する機能ブロックである。例えば、表として意図された部分とそうでない部分とを含むファイルの場合、罫線で囲まれた部分を表として意図された部分と認識して、表を抽出する。また、例えば、複数列にわたって結合されたセルを単一列のセルと認識して表を抽出する。さらに、例えば、複数のファイルからデータを抽出するとき、各行の抽出元を示すファイル名を新たな列として付加して表を抽出する。このように、既知のアルゴリズムを適宜適用して、ユーザが範囲指定しやすい形状に整形した表を生成する。ユーザは、整形された表に対して行と列とを指定することにより、取得するデータが存在する範囲を指定する。
【0024】
このように、取得範囲指定部22により取得するデータが存在する範囲が指定された転記元アプリケーションのデータは、表データとしてメモリ部15に保持される。
【0025】
転記元アプリケーションが表計算ソフトSSである場合は表計算ソフトSS上で表示される列ごとに、転記元アプリケーションに含まれるデータが配置されて表データが生成される。自動表認識実行部により表が認識された場合も、整形された後の表に基づいてデータが配置されて表データが生成される。すなわち、表計算ソフトSSは、表データの生成に使用するのが容易な規則としての行及び列、に従ったデータ配置がされるアプリケーションである。また、転記元アプリケーションがWebブラウザWBである場合、WebブラウザWBによりユーザに視認されるデータはhtmlタグにしたがって配置される。このため、タグごとに転記元アプリケーションに含まれるデータが配置されて表データが生成される。すなわち、WebブラウザWBは、表データの生成に使用するのが容易な規則としてのタグ情報、に従ったデータ配置がされるアプリケーションである。このように、表データの生成に使用するのが容易な規則に従ってデータ配置がなされるアプリケーションが転記元アプリケーションであるときは、当該規則に従って、表データを生成する。なお、本実施例においては、表データの生成に使用するのが容易な規則に従ってデータが配置されるアプリケーションとして、表計算ソフトSSとWebブラウザWBとが挙げられるが、これに限られない。転記元アプリケーションのデータが一定の規則に従って配置され、かつ、当該規則が周知されている場合には、取得範囲指定部22に予め当該転記元アプリケーションのデータから表データを生成する方法が設定されうるため、表データの生成に使用するのが容易な規則に従ってデータ配置がなされる、と言える。この場合は、表計算ソフトSSとWebブラウザWBと同様に、概略手順作成部21により当該転記元アプリケーションの種類が設定されることにより、対応する表データ生成方法が適用され、転記元アプリケーションのデータから表データが生成される。表データにおいては、当該転記元アプリケーションにおいてデータを配置する規則に従ってデータが配置される。なお、生成される表データの列名は、ユーザにより適宜設定されても良い。
【0026】
また、転記元アプリケーションとしての自動化対象ソフトGSのデータの配置規則に取得範囲指定部22が対応していない場合、例えば自動化対象ソフトGSが、ある企業内でのみ使用されるようなアプリケーションである場合、には、自動化対象ソフトGSにおけるデータの配置規則に従って表データを生成することが困難である。このような場合に、上述したように、操作レコード設定部48の機能によりデータの取得範囲が指定される。操作レコード設定部48の機能によるデータの取得範囲の指定においては、ユーザの操作にしたがってデータの取得範囲と、表データの列名とがユーザの操作にしたがって指定される。より詳細には、ユーザにより指定されるデータに係るオブジェクト階層における位置情報や座標情報と、指定された列名と、が対応付けられる。このように対応付けられることによって、自動化対象ソフトGSにより表示される第一の画面情報に含まれるデータと、自動化対象ソフトGSにより表示される第二の画面情報に含まれ当該データと同じ位置に位置するデータと、が同じ列に配置される表データが生成される。
【0027】
このようにして、取得範囲指定部22により取得するデータが存在する範囲が指定された転記元アプリケーションのデータは、当該転記元アプリケーションの種類に応じた適切な方法で表データとして取得され、当該表データがメモリ部15に保持される。なお、メモリ部15に保持される表データは、同様にメモリ部15に保持される表データと識別可能なように、名称が付されるが、当該名称がユーザによって付与されてもよい。この場合取得範囲指定部22は、表データに付与される名称を受け付ける。
【0028】
転記指定部23は、転記先アプリケーションへ転記するデータを指定するための機能ブロックである。転記指定部23は、転記先指定部23a、転記単位指定部23b、表操作部23c、転記データプレビュー部23dとを有する。
【0029】
転記先指定部23aは、転記先アプリケーションにおけるデータを書き込むフォームを指定するための機能ブロックであり、当該フォームを指定するための画面情報を表示したり、当該画面情報に対するユーザの指定を受け付けたりする。本実施形態において、転記先アプリケーションのフォームは、従来の転記作業においてユーザが転記するデータに基づいて何らかの指定を行っていた対象であり、ユーザによりテキストデータが入力されるテキストボックス、ユーザにより予め定められた選択肢から任意の選択肢が選択されるコンボボックス、及び複数の選択肢のうちいずれかが選択されたことを示すラジオボタン、を含む。
【0030】
転記単位指定部23bは、取得範囲指定部22により指定された範囲から取得されるデータを転記する単位を指定するための機能ブロックである。すなわち、転記単位指定部23bにより、一回の転記で転記されるデータの範囲が指定される。上述の通り、転記先アプリケーションに転記されるデータは表データとしてメモリ部15に保持されるため、転記単位指定部23bはデータを転記する単位として行数の指定を受け付ける。なお、転記単位指定部23bにより単位が指定される転記先アプリケーションへの転記が、概略手順において繰り返しの対象とされている場合、転記指定部23により指定される単位は、転記の単位として扱われる。
【0031】
表操作部23cは、表データとしてメモリ部15に保持されるデータを操作して、転記先アプリケーションに書き込むデータを編集するための機能ブロックである。表操作部23cによる表データの操作は、ある列に含まれるデータが所定の条件を満たすか否かに応じて表示する行を決めるフィルタ操作や、複数の表データを、共通する列項目などの条件にしたがって結合する表結合操作などを含む。
【0032】
転記データプレビュー部23dは、表操作部23cにより操作された表と、当該表において転記単位指定部23bにより指定されたデータを転記する単位を示す表示を行う機能ブロックである。ユーザは転記データプレビュー部23dにより表示される情報を見て、自身が設定した転記単位や表操作の結果を確認する。
【0033】
操作レコード設定部48は、転記元アプリケーション、もしくは転記先アプリケーションの任意のアプリケーションに対するユーザの操作を記録するための機能ブロックである。
【0034】
図4から図7は、本実施形態の自動化プログラム作成装置として機能するコンピュータPCが有するソフトウェアとデータとの関連性を示す図である。図4から図7に示されるRPAソフトRSは、自動化プログラム生成プログラムである。RPAソフトRSがインストールされることにより、プロセッサ部20は自動化プログラム生成部25と自動化プログラム実行部26として機能するため、RPAソフトRSに包含される機能ブロックとして図4から図7に記載される。
【0035】
図4に示すように、RPAソフトRSは、表計算ソフトSS、WebブラウザWB、及びその他の自動化対象ソフトGSなどの既存のアプリケーションからのデータの取得、これら既存のアプリケーションへのデータの書き込みを行う。既存のアプリケーションに対するデータ取得とデータ書き込みとは、自動化プログラムが生成されるときに自動化プログラム生成部25が有する各機能ブロックの機能により行われ、かつ、生成された自動化プログラムが実行されるときに自動化プログラム実行部26により行われる。また、自動化プログラム生成部25は、転記元アプリケーションから取得するデータに基づいて表データを生成してメモリ部15に保持し、メモリ部15に保持される表データを参照して転記先アプリケーションへのデータの書き込みを設定することにより、自動化プログラムを生成する。自動化プログラム実行部26は、生成された自動化プログラムに基づいて転記作業を実行する。
【0036】
RPAソフトRSで自動化プログラムの作成支援を行う際には、図4に示すように、xlsx等のデータファイルを読み込んだMicrosoft Excel(商品又はサービス名)等の表計算ソフトSS等の外部のプログラムと、RPAソフトRSはAPIを介してデータ等をやりとりする。またWebブラウザWB(データ形式はhtmlファイル)とRPAソフトRSは、selenium等を用いてプロセス間通信をし、データを取得する、書き込み、操作する。
【0037】
また自動化プログラム生成部25は、表データ形式で自動化プログラムの作成を支援する。自動化プログラム生成部25で作成された自動化プログラムは、RPAプログラムファイルとしてストレージ部16などに保存される。さらに自動化プログラム実行部26は、保存されたRPAプログラムファイルを読み出して、自動化プログラムを実行する。これにより、予め規定された一連の操作が自動的に実行される。
【0038】
図5はRPAソフトRSと表計算ソフトSSとの関連性を示す。RPAソフトRSは、表計算ソフトSSとの間でCOM通信を行って、表計算ソフトSSを操作する。RPAソフトRSは、表計算ソフトSSの操作を行うことによって、ファイルに含まれるデータの取得として表計算ソフトSSにより表示される表のセルの値を取得したり、データの書き込みとして表計算ソフトSSにより表示される表のセルにデータを書き込んだりする。また、本実施例において、表計算ソフトSSはExcelであり、表計算ソフトSSにより表示されるファイルは、拡張子.xlsxのファイルである。この場合において、RPAソフトRSは、Excelファイル操作ライブラリのプロセス内で使用してファイルにデータを書き込んでも良い。
【0039】
図6はRPAソフトRSとWebブラウザWBとの関連性を示す。RPAソフトRSは、Webブラウザからデータを取得するときに、ユーザにWebブラウザを操作させる。このとき、WebブラウザWBに予め追加された拡張機能を介して、ユーザによりマウス等のポインティングデバイスでクリックされた要素のパスを取得する。RPAソフトRSは、取得したパスに基づく検索式としてのXpathを使用して、Xpathに該当するパスの要素を抽出する。RPAソフトRSが作成された自動化プログラムを実行するときは、WebブラウザWBの拡張機能を介してWebブラウザWB上で表示されるフォームのパスを特定し、特定されたパスの要素に対し、データを転記する。
【0040】
なお、RPAソフトRSは、WebブラウザWBの拡張機能により取得したパスからXpathを生成するときに、当該パスに対応する要素と同じ階層にある要素を抽出可能なXpathを生成して、ユーザがWebブラウザWBを操作することによって指定した要素と同じ階層にある要素を複数抽出することができる。このとき、ユーザが同階層にあると判断する複数の要素を指定させる場合、当該複数の要素のパスに共通する部分からXpathを生成することができるため、同階層にある要素を抽出するのに適したXpathを生成する精度が向上する。
【0041】
図7はRPAソフトRSと、操作レコード設定部48の機能により操作を自動化する自動化対象ソフトGSとの関連性を示す。RPAソフトRSと自動化対象ソフトGSとは、UIAutomationを介してやりとりを行う。UIAutomationとは、マイクロソフト社の提供するライブラリである。自動化プログラムの作成時においては、ユーザが自動化対象ソフトGSの操作に対して行う操作を、自動化プログラム生成部25が受け付ける。より具体的には、自動化プログラムは、自動化対象ソフトGSより前面に自動化対象ソフトGSの表示情報を視認可能な程度に透過する半透明ウインドウTWを表示する。本実施形態におけるコンピュータPCは、最前面に表示される画面情報に対応するアプリケーションが操作を受け付けるため、半透明ウインドウTWの後面にあるアプリケーションに対してユーザが行ったつもりの操作は、半透明ウインドウTWに対する操作として受け付けられる。半透明ウインドウTWの機能によってユーザ操作を受け付ける自動化プログラム生成部25は、受け付けたユーザ操作で指定されたマウス位置をUIAutomationに渡す。マウス位置を渡した結果、UIAutomationは当該マウス位置にあるユーザインターフェースのUI要素に係る情報を受け取る。ここでいうUI要素に係る情報とは、階層におけるUIの位置や、UIの属性(例えばデータ入力可能か、コンボボックスであるか)を含む。このUI要素に係る情報に基づいて、自動化プログラム生成部25は、当該UI要素に対して実施する操作の内容を示す操作内容の選択肢を表示する。自動化プログラム生成部25は、当該UI要素に対してユーザが選択した操作内容を受け付け、当該操作内容とUI要素とを対応付けて記録するとともに、操作内容と当該UI要素を指定する情報とをUIAutomationに返し、自動化対象ソフトGSに対する操作を実行させる。
【0042】
作成された自動化プログラムを実行する際には、UI要素を指定する情報と、当該UI要素に対応付けられた操作内容と、をUIAutomationに送り、当該UIに対する所定の操作を実行する。
【0043】
なお、RPAソフトRSで自動化対象ソフトGSに対し、自動化プログラムの作成支援や実行を行うに際しては、上述したUIAutomation等を用いる方法に限られない。例えば、自動化対象ソフトGSやRPAソフトRSを実行される環境であるOSが備えるAPIを用いてもよい。一例として、Windows(商品又はサービス名)OSが有するWin32API(商品又はサービス名)を用いて、OSから各アプリケーションへ送られる操作イベントを監視して自動化プログラムを生成しても良い。また、Win32APIを介して自動化プログラムに示される操作内容を自動化対象ソフトGSに対して実施して、自動化プログラムを実行しても良い。
【0044】
本実施形態のRPAソフトRSは、自動プログラムを作成するモードとして複数のモードを備える。複数のモードの一つとしてのナビゲーションモードでは、ユーザが作成しようとする自動化プログラムに合わせて、ユーザに対して自動化プログラムを作成するのに必要な手順をガイダンスしながら、自動化プログラムの作成を行うガイド付きモードである。図8は、ナビゲーションモードのRPAソフトRSで転記作業を実行する自動化プログラムを作成するときのフローチャートを示す。
【0045】
まず図8のステップS901で、概略手順作成部21が、ユーザが概略手順を作成するための画面情報として概略手順作成画面を表示する。
(概略手順作成画面110)
【0046】
図9は概略手順作成画面110の一例を示す。ユーザは概略手順作成画面110を操作して概略手順を生成する。ここでユーザにより生成される概略手順は、転記作業に対応する手順であり、ユーザは転記元アプリケーションと転記先アプリケーションとの指定を行う。したがって、「表計算ソフトSSからデータを取り出す」という選択肢が表示され、ユーザが当該選択肢を選択した場合も、転記元アプリケーションとして表計算ソフトSSが選択されたとみなすことができる。このように、本実施例の自動化プログラム作成装置は、転記作業において使用するアプリケーションという、比較的指定しやすい項目を選択肢として表示することによって、ユーザに概略手順の作成を促す。また、ユーザがアプリケーションを選択することによって作成される概略手順に従って、転記元アプリケーションからデータを取得するために必要な情報や、転記先にデータを書き込むために必要な情報を指定するための画面情報を表示する。これにより、ユーザが自動化プログラムを作成することの難易度が低減する。
【0047】
図9を用いて概略手順作成画面110の詳細を説明する。概略シナリオをまず構築してから詳細シナリオを構築することで、ユーザの業務フローをシナリオに起こしやすくなる。画面中央の項目が選択できる大まかな操作(アクティビティ)である。画面中央の操作候補一覧112で列挙された大まかな操作のうち、選択したい項目をクリックで選択状態にしてから「追加」ボタン113を押すことで、画面右側の操作選択一覧114に追加することが可能である。さらにまた「次へ」ボタン117を押すと、右側の操作選択一覧114にアクティビティが追加されている場合は、追加された項目順に各大まかな操作の詳細設定を行うための画面に遷移される。一方、操作選択一覧114に何もない場合は遷移しない。また「破棄して戻る」ボタン118を押すと、作成ナビの設定を中止し、終了する。
【0048】
なお、概略手順作成画面110では、操作候補一覧112中の概略手順アイコン111が操作選択一覧114に追加されることで、転記元アプリケーションの選択と、転記先アプリケーションの選択とがなされる。図9の例において、「何からデータを取り出しますか?」というフォームの「表計算ソフト」という概略手順アイコン111が操作選択一覧114に追加されると、転記元アプリケーションとして表計算ソフトSSが選択される。「Web」というアイコンはWebブラウザWBに対応し、「任意のアプリ」というアイコンは自動化対象ソフトGSに対応する。また、図9の例において、「何にデータを書き出しますか?」というフォームの「表計算ソフト」という概略手順アイコン111が操作選択一覧114に追加されると、転記先アプリケーションとして表計算ソフトSSが選択される。
【0049】
また、概略手順作成画面110は、繰り返し設定アイコン119が含まれる。ユーザは、繰り返し設定アイコン119と組み合わせて概略手順を作成することで、繰り返し実行する手順を含む概略手順を作成する。繰返設定部31は、繰り返し設定アイコン119を含む概略手順に基づいて繰り返しに係る画面情報を表示する。図9においては、概略手順として並んだ概略手順アイコン111を選択した状態で、ユーザが「指定範囲を繰り返しにする」ボタン115を選択することで、選択された概略手順の上に繰り返し設定アイコン119が挿入される。選択されていた概略手順アイコン111は、繰り返し設定アイコン119より一段下がった表示になり、繰り返し設定がなされた概略手順であることを示す。
【0050】
なお実施形態1の例では、転記元アプリケーションとして表計算ソフトSSが選択され、転記先アプリケーションとして表計算ソフトSS、WebブラウザWBとが選択された状態である。また、転記先アプリケーションとしての自動化対象ソフトGS、表計算ソフトSS、WebブラウザWBにデータを書き込む動作の一部が繰り返し行われるように設定される。
【0051】
図8に示すように、ステップS901で概略手順作成画面110を表示した後、ステップS902において、概略手順の作成が終了したか否かを判定し、未だの場合はステップS902を繰り返し、終了した場合はステップS903に進む。
【0052】
ステップS903で、自動化プログラム作成部は、ステップS901で転記元アプリケーションが選択されたか否かを判定する。自動化プログラム作成部が、転記元アプリケーションが選択されたと判定した場合、ステップS904で転記元アプリケーションとして選択されたアプリケーションに応じて取得範囲の設定を開始する。自動化プログラム作成部がステップS904で取得範囲の設定が完了した後、ステップS905に進む。また、ステップS903で、自動化プログラム作成部が、転記元アプリケーションが選択されていないと判定した場合、ステップS905に進む。(表計算ソフトSSに対する取込範囲設定)
【0053】
図10は、転記元アプリケーションとして表計算ソフトSSが選択された場合に、取得範囲指定部22が実行する取得範囲の指定の詳細を示すフローチャートである。ステップS1101で、取得範囲指定部22は、自動表認識を行う表自動取得モードか否かを判定する。取得範囲指定部22が表自動取得モードであると判定する場合、ステップS1102として、取得範囲指定部22は自動表認識実行部の機能により、表の自動認識を行う。表の自動認識を行い、整形された表を生成してステップS1103に進む。ステップS1101において取得範囲指定部22が表自動取得モードでない、と判断した場合はステップS1103に進む。ステップS1103で取得範囲指定部22は、自動表認識実行部により整形された表、もしくは表計算ソフトSSにより表形式で表示される表で、取得するデータが存在する範囲を指定する。ステップS1103で取得範囲が指定された後、取得範囲指定部22は、ステップS1104で取得するデータから生成される表データの名称を指定する。ステップS1104における取得範囲指定部22は、ユーザから表データの名称を受け付けても良いし、既にメモリ部15に保持される他の表データと識別可能な名称を指定しても良い。ステップS1105で、取得範囲指定部22は、ステップS1103で指定された取得範囲の最上行を列項目とする表データを生成し、当該表データに対して、ステップS1104で指定された名称を付与してメモリ部15に保持させる。
【0054】
図11は、表自動取得モードでない場合に取得範囲指定部22が表示する表計算ソフト取得範囲指定画面130である。この図は、上述した図10におけるステップS1103やS1104において、ユーザ操作を受け付ける画面である。図11では、ステップS1103で実行する表の範囲の指定を受け付けるために、「ファイル名」「シート名」「セル」というラベルが付与されたフォームが表示される。また、図11では、ステップS1104で実行する名称の指定を受け付けるために、「取り出した表の名前」というラベルが付与されたフォームが表示される。図11の例では、「経費一覧表」という名称が指定されている。さらに図11では、ステップs1105を実行するためのトリガボタン138が設けられる。なお、ステップS1104において指定される表データの名称は、RPAソフトRSにおいて当該表データをメモリ部15から呼び出すための変数名である。
【0055】
図8に示すように、自動化プログラム作成部は、取得範囲の指定が完了した後、ステップS905で、ステップS901において転記先アプリケーションが選択されたか否かを判定する。自動化プログラム作成部が、転記先アプリケーションが選択されたと判定した場合、ステップS906で転記設定を実行する。自動化プログラム作成部は、ステップS906で転記設定が完了した後、ステップS907に進む。ステップS905で、自動化プログラム作成部が、転記先アプリケーションが選択されていないと判定した場合、自動化プログラムはステップ907に進む。
【0056】
図12は、転記先アプリケーションとして任意のアプリケーションが選択された場合に、転記指定部23が実行する転記に係る設定の詳細を示すフローチャートである。ステップS1301で、メモリ部15から呼び出す表データを選択させる。ステップS1302では、表操作部23cの機能としてステップS1301で選択された表データに対する操作を受け付け、操作に応じて表データを編集する。ステップS1303では、転記単位指定部23bの機能としてステップS1301で呼び出された表データ、もしくは、ステップS1302で編集された表データに対して、転記先アプリケーションに転記する単位の指定を行う。ステップS1303で転記する単位の指定を受け付けた後、ステップS1304で転記先指定部23aの機能として、転記先アプリケーションにおいてデータが転記されるフォームを指定する。
【0057】
ステップS1304において、転記先指定部23aは、転記先アプリケーションに応じて、ユーザから転記先のフォームの指定を受け付けるための画面情報を表示する。転記先アプリケーションが表計算ソフトSSである場合、転記先のファイル、シート、セルなどの指定を受け付ける。転記先アプリケーションがWebブラウザWBである場合、WebブラウザWBを起動し、WebブラウザWBに対するユーザ操作をWebブラウザWBが有する拡張機能を介して取得し、WebブラウザWB上でユーザによって選択されたフォームを特定する。転記先アプリケーションが自動化対象ソフトGSである場合、操作レコード部の機能により、フォームを特定する。
【0058】
図13は、ステップS906の転記設定の一態様として表示される一般転記詳細設定画面150を示している。この図に示す一般転記詳細設定画面150は転記指定部23の一態様を示している。一般転記詳細設定画面150では、データ転記の詳細を設定する。図13の例では、一般転記詳細設定画面150は、画面左にアクティビティ表示欄121が表示され、画面中央から右に転記詳細指定欄152が表示される。この例では、アクティビティ表示欄121で選択されたアクティビティ、ここでは「操作を記録して入出力を行う」に関しての詳細設定画面が、一般転記詳細設定画面150で表示されている。
【0059】
図3の取得範囲指定部22で設定された範囲のデータを表形式の取得元データとして転記するデータ転記の詳細は、ユーザにより転記指定部23で指定される。
【0060】
図13の転記詳細指定欄152には、転記指定部23の一形態として転記データ指定欄153と実施操作決定欄156とが設けられている。
(転記データ指定欄153)
【0061】
転記データ指定欄153は、図12のフローチャートに示されるステップS1301で実行する表データ選択、ステップS1302で実行する表操作、ステップS1303で実行する転記単位指定のそれぞれに対応する欄が設けられる。ユーザは、転記データ指定欄153を操作することにより、転記先アプリケーションに転記するデータの詳細を設定することができる。
【0062】
転記データ指定欄153は、表データ参照有無指定欄155と、表データ指定欄153bを有する。ユーザは、表データ参照有無指定欄155を操作することで、メモリ部15に保持される表データを参照するか否かを指定することができる。図13の例では、表データを参照することが選択されている。また、ユーザは、表データ指定欄153bを操作することで、転記するデータ、もしくは転記するデータを生成するためのデータを含む表データを指定する。すなわち、転記データ指定欄は上述した図12のフローチャートのステップS1301に対応する。図13の例では、「経費一覧」という名称の表データが選択されることが示される。
【0063】
転記データ指定欄153は、また転記単位プレビュー部24の一形態として、転記単位プレビュー欄154を有する。転記単位プレビュー欄154は、ユーザが転記データ指定欄153を操作することによって設定される転記データの詳細の設定に基づいて、転記されるデータの態様を表示する。また、転記単位プレビュー欄154は、上述した図12のフローチャートのステップS1302における表データの編集をユーザに行わせるための部材でもある。ユーザが転記単位プレビュー欄154を操作すると、図20の表ナビ画面380が表示され、ユーザによる表操作が受け付けられる。
【0064】
転記データ指定欄153は、転記単位指定部23bの一形態として、転記単位指定欄153cを有する。ユーザは、転記単位指定欄153cを操作することで、転記先アプリケーションへの一回のデータの転記において転記する対象を指定する。すなわち、転記単位指定欄153cは、図12のフローチャートのステップS1303に対応する。表データ指定欄153bにより指定された表データからの転記単位として「一行ずつ」「表全体」「グルーピング」が選択可能である。「一行ずつ」が選択された場合、一回の転記で、表データ選択欄153bで選択された変数名の表データが一行ずつ転記される。また「表全体」が選択された場合は、一回の転記で、表データの全体が転記される。さらに「グルーピング」を選択した場合は、表データの列の値が同じ行のデータが入力される。このため「グルーピング」では、表データ選択欄153bで選択された変数名の表データが有する列の項目を選択可能としている。図13の例では、「グルーピング」という選択肢と合わせて「日付」という列項目が示される。この場合、一回の転記で、表データ選択欄153bで選択された変数名の表データのうち、「日付」という名称の列が同じ値のデータが転記される。
(実施操作決定欄156)
【0065】
さらに、図13の転記詳細指定欄152において転記単位指定欄153の下部には、実施操作決定欄156が設けられている。実施操作決定欄156は、上述した図12のフローチャートのステップS1304におけるデータ転記先としてのフォームの指定をユーザに行わせるための部材である。
【0066】
実施操作決定欄156は、転記先アプリケーションとして自動化対象ソフトGSが指定される場合に表示される。ユーザは、当該自動化対象ソフトGSにおけるフォームを指定するために実施操作決定欄156から操作レコード設定部48の機能により操作レコードを開始する。図13に示される実施操作決定欄156は、自動化プログラムの実行において繰り返さない操作を決定するための部材であるが、繰り返す操作を決定するための実施操作決定欄が別途設けられても良い。この場合、繰り返さない操作を決定するための実施操作決定欄と、繰り返す操作を決定するための実施操作決定欄とが、同じ画面に表示されることが好ましい。ここで言う「同じ画面に表示される」とは、スクロール操作で上記二つの実施操作決定欄が表示可能な配置を含む。これによれば、ユーザは、同じ画面から繰り返す操作と繰り返さない操作との両方を設定することができるため、繰り返す操作と繰り返さない操作とが混在する作業に係る自動化プログラムを容易に生成することができる。
(操作レコード画面160)
【0067】
図14は、操作レコード設定部48の機能により表示される画面情報を含む表示画面の態様である。図14に示される操作レコード画面160には、自動化対象ソフトGSとしての経費精算アプリにより表示される「経費精算」フォームGS1が表示される。操作レコード設定部48は、自動化対象ソフトGSにより生成される画面情報より前面に半透明ウィンドウTWを表示する。半透明ウィンドウTWは、当該半透明ウィンドウTWに重なりかつ当該半透明ウィンドウTWより後ろに位置する画面情報が視認可能な程度に透明であればよいため、透明なウィンドウであっても良い。半透明なウィンドウを表示することによって、ユーザが自動化対象ソフトGSにより生成される画面情報に対して何らかの画面情報が重ねて表示されていることが認識できるため、ユーザが視認可能な程度に透明でないことが好ましい。なお、図14では、半透明ウィンドウTWを図上で明らかにするために、図14の枠より内側に半透明ウィンドウTWの枠があるが、実際には、全画面に表示される。
【0068】
ユーザは、操作レコード画面160に対して操作を実行して、転記先のフォームを指定する。操作レコード設定部48は、ユーザが半透明ウィンドウTW越しにフォームGS1に含まれる所定のフォームを指示する操作を、半透明ウィンドウTWで受け付け、ユーザ指定したフォームGS1中のフォームを特定する。これにより転記先設定部は、転記先アプリケーションにおいてデータが書き込まれるフォームを特定する。図14の例では、自動化対象ソフトの「経費精算」フォームGS1のうち、「申請者」という説明が付与されたフォームが選択されている。操作を判り易くするため、マウスカーソルの位置を○で表している。
【0069】
データが書き込まれるフォームが特定された後、操作レコード設定部48は、転記指定部23によりメモリ部15から呼び出された表データに基づいて、当該フォームに書き込まれるデータをユーザに選択させる画面情報を表示する。表データが表操作部23cにより編集される場合は、編集された表データに基づいて画面情報を表示しても良い。また、転記単位指定部23bにより指定される単位に基づいて画面情報を表示しても良い。
【0070】
ユーザは、操作レコード設定部48により表示される、書き込むデータの選択肢から、当該フォームに書き込むべきデータを選択する。操作レコード設定部48はユーザの選択を受け付け、特定されたフォームと当該フォームに書き込むデータとを対応付ける。これにより転記先指定部23aにより、転記先アプリケーションのうちデータを書き込むフォームと、当該フォームに書き込むデータとを指定する。
【0071】
なお、操作レコード設定部48は、ユーザに選択されたデータを特定されたフォームに書き込む。これにより、操作レコード画面を介して操作を選択した直後に自動化対象ソフトで実行させることで、ユーザは、選択したデータがエラーなく特定されたフォームに書きこまれるか否かを確認することができ、デバッグ作業も容易となる
【0072】
図8に示すように自動化プログラム作成部は、ステップS907に進み、詳細が設定されていない操作レコード手順があるか否かを判定する。ここで有無の判定をする操作レコード手順は、ステップS904における転記元アプリケーションの取得範囲の設定や、ステップS906における転記先アプリケーションへの転記設定に含まれる操作レコードの手順ではなく、転記作業において、データを転記する手順の前後に実施されるユーザ操作に対応する手順として設定されるものである。ステップS907において、未設定の操作レコード手順があると判定した場合ステップS908に進み操作レコード設定を実行する。ステップS908においては、操作レコード設定部48の機能により半透明ウィンドウTWが表示され、当該半透明ウィンドウTWに対して実施されるユーザ操作が記録される。ステップS908におけるユーザ操作の記録が完了すると、ステップS909に進み、ステップS901、S904、S906、S908の少なくともいずれかのステップで設定された内容に基づいて自動化プログラムの内容を示す画面情報を生成する。ステップS907において、未設定の操作レコード手順がないと判断した場合、ステップS908に進み、ステップS901、S904、S906の少なくともいずれかのステップで設定された内容に基づいて自動化プログラムの内容を示す画面情報を生成する。
(アクティビティ一覧画面220)
【0073】
図15は、ステップS909で表示される、作成される自動化プログラムの内容を示すアクティビティ一覧画面220を示す。アクティビティ一覧画面220では、作成された手順がステップS901で設定した概略手順単位でまとめられて表示される。アクティビティ一覧画面220は、概略アクティビティ表示欄221を画面左側に設けている。概略アクティビティ表示欄221では、作成されたアクティビティが概略アクティビティ単位でまとめられて表示される。図15のアクティビティ一覧画面220では、変数がオレンジ色で表示されている。本実施形態では、表データ自体が生成された自動化プログラムにおいても変数として扱われるため、表データ自体に付与された名前が変数名として扱われる。また表データに含まれる各列項目も、転記時に参照されるため変数名として扱われる。
【0074】
図15のアクティビティ一覧画面220では、各種データの取り込み詳細設定や、転記を行う操作の設定が完了した状態を示している。この図の「操作を記録して入出力を行う」との部分が概略アクティビティヘッドライン部222であり、フローに相当する概略アクティビティを表示している。また概略アクティビティヘッドライン部222の下には、概略アクティビティ詳細表示領域225が設けられている。概略アクティビティ詳細表示領域225には、「アプリ起動」、「表の繰り返し」、「アプリ終了」が表示されており、「操作を記録して入出力を行う」との概略アクティビティを構成する具体的な操作すなわちアクティビティが列挙されている。各種設定が完了した時の概略アクティビティの単位は、図9で作成した概略手順に対応する。ここで、概略アクティビティヘッドライン部222の内、「操作を記録して入出力を行う」との表示は概略名223として、ユーザが手動で入力する一方、その右にある「経費一覧表を入力する」との概略ラベル224は自動で生成される。
【0075】
図8に示すようにステップS909でアクティビティ一覧画面220を表示した後、自動化プログラム作成部はステップS910で自動化プログラムを作成する。当該自動化プログラムは、ステップS901、S904、S906、S908の少なくともいずれかで設定された内容に基づいて生成される。
[実施形態3]
(操作レコード画面280)
【0076】
図16は、転記先指定部23aの機能によりユーザが指定する転記先アプリケーションのフォームが表形式で表示される表UIであるときの操作レコード画面280を示す。なお、この図では、説明のために、半透明ウィンドウは非表示としている。
【0077】
図16の操作レコード画面280において、ユーザがマウスで表UIを選択したことを検出すると図17の操作レコード画面300に示すように、表UIへの表データの転記の詳細を設定するための表データ転記詳細設定ウィンドウ301が表示される。表データ転記詳細設定ウィンドウ301は、表入力位置指定欄302と、表選択欄303を設けている。まず、出力先の表UIを特定するために、表入力位置指定欄302において、表の左上端のセルをユーザに選択させる。ユーザの選択を検出して、表UIの左上セルを特定した後、表UIの左上を選択する操作を表UIに反映させる。図18では、自動化対象ソフトGSである日報管理用アプリが、表UIのうち選択されたセルを青枠で表示している。また表入力位置指定欄302において「選択済み」と表示され、表の左上セルの選択が終了していることが示される。
【0078】
次に表の選択を行う。図18の表データ転記詳細設定ウィンドウ301において、表選択欄303には、表移動方向指定欄304と、行挿入指定欄305、行削除指定欄306、「表の移動を試す」ボタン307が設けられている。「表の移動を試す」ボタン307を押下すると、表UIが正しく選択できているかを確認することができる。この確認では、RPAソフトがユーザ操作を「右:→」のような対応するキーボードで受け付け、キーボードを操作したときにそのように選択箇所が表UI上を移動するかどうかを確認することができる。
【0079】
RPAソフトに表示される表は、自動化対象ソフトの表UI、つまり転記先アプリケーションとしての日報管理用アプリの表UIに対応する。一例として、表UIの左から二番目の列にデータを転記したい場合に、この列に転記するデータを選択する状態を図19の操作レコード画面320に示す。この操作レコード画面320では、自動化対象ソフトGSの表UIの各列と、RPAソフトでのRPAプログラム作成のために取り込まれた表データの各列とをどのように対応付け、その際の設定画面の態様を確認することができる。図において、横長の棒状で示すL1の部分が、自動化対象ソフトGSの表UIがRPAソフトRSの設定画面に反映されている。またその下にある列名選択肢321では、取込済表データの列項目の名称が選択肢として表示されている。列名選択肢321は、RPAソフトRSの実行時に自動化対象ソフトGSに転記する表データに対応する列名を選択する。例えば、L1の左から2番目の列のプルダウンで表示される列名選択肢321の内、「品目」を選んで設定すると、RPAソフトRSを実行する際には、取込済表データの「品目」が自動化対象ソフトGSの左から2番目の列に転記されることになる。このように設定することで、自動化対象ソフトGSで表示される表UIの特定の列に書き込まれる表データ中のデータが指定される。
(表操作)
【0080】
次に表操作部23cにより実行可能な表データの編集の詳細を説明する。メモリ部15に保持する表データを編集する機能を「表ナビ」と呼ぶ。例えば図13の一般転記詳細設定画面150において、表操作を呼び出して表データの編集を行える。
【0081】
また図20の表ナビ画面380から、希望する表操作に該当する種類を選択して実行することもできる。操作実行後の表データはメモリ部15に保持される。このとき、メモリ部に保持される表データは、ユーザが指定した名称が付されてメモリ部15に保持されても良いし、既にメモリ部15に保持される表データと識別可能な名称が付されて、メモリ部15に保持されても良い。
【0082】
また、メモリ部15に複数の表データが保持されており、かつ、図12に示すフローにおけるステップS1301の表データ選択で複数の表データが選択される場合に、当該複数の表データを結合したり、当該複数の表データの差分を抽出したりすることもできる。図21図20の別例である。例えば図21の表操作画面390において、表1として図22Aのような経費一覧表が生成されている場合に、「表を条件で絞り込む」を選択すると、アクティビティとして「表1を条件で絞り込む」が生成される。
【0083】
ここで例えば経費が1000円以上の場合のみ申請をする、というシナリオを作成する場合には、「経費一覧表を金額>1000で絞り込む」という設定を行えば、図22Aの経費一覧表が絞り込まれて、図22Bのような表が生成される。このようにして新たに生成された表も、変数として扱うことができる。例えば、図22Bの表に申請対象経費一覧表という名前を付ければ、申請対象経費一覧表という表をそのほかのアクティビティでも使用することができる。
【0084】
またこの機能を使うことで、分岐処理指定を代替することも可能である。例えば、通常の分岐処理では、if文のような分岐処理(今回の場合は「金額>1000」)の処理を、ユーザが分岐すべき個所をコード中から特定し、適切な位置に分岐処理を挿入するといった操作をする必要があり、手間であった。これに対し、本機能を使えば、一つの表として扱うことができるため、作成ナビの繰り返し処理と合わせて使用することで、分岐処理を自分で挿入せずとも分岐相当の操作が可能になる。
(表操作機能)
【0085】
また複数の表に対して、結合や縦積み、差分抽出、共通部分抽出、表絞込、列追加、列削除といった様々な操作を行うことができる。このような表操作機能は、図3の表操作部23cで実行される。ここで表操作機能の一例として、まず複数の表を結合する表結合機能について、図23図24に基づいて説明する。
(表結合機能)
【0086】
表結合機能では、複数の表に対して、特定の列の名前で表を結合することができる。例えば図23に示すように、2つの表がある場合に、特定の列の名前、ここでは「客先コード」で合体させて図24の表を生成することができる。
【0087】
このように、表データが結合されることにより、別の表データとして保持される表データ中のデータを、対応付けられたデータとして扱う転記作業に係る自動化プログラムを生成することができる。図23の例では、「客先名」を有する表データと「メールアドレス」を有する表データが別の表データとして保持される。表結合機能により、同じ画面に存在する複数のフォームに対して、「客先名」と当該「客先名」に関連する「メールアドレス」とを転記する転記作業に係る自動化プログラムが生成される。
(表縦積み機能)
【0088】
また表縦積み機能では、同じ項目を規定した複数の表を列方向に連結することができる。例えば図25に示すように、共通の項目(ここでは「客先名」、「客先コード」、「状態」の3つ)を有する2つの表に対し、表縦積み機能を実行して図26のように一つの表にまとめることができる。なお、上述した図23のように、共通しない項目が存在する表に対して表縦積み機能を実行すると、図27のように、存在しない項目については空のセルとなる。
【0089】
このように、表データが縦積みされることにより、別の表データとして保持されていた同種のデータを同じ表データに保持されるデータとして扱う転記作業に係る自動化プログラムを生成することができる。図25の例では、2つの表は列項目が全て共通であるため、各行のデータは同種のデータである。表縦積み機能により、図26に示すように単一の表データとして扱われるため、当該表データに対して転記指定部23による転記指定を行うことで、複数の表データに対して同様の転記を行う転記作業に係る自動化プログラムが生成される。
(差分抽出機能)
【0090】
さらに、複数の表の差分をとる差分抽出機能について説明する。差分抽出機能では、複数の表に対して、一の表の特定列のうち、他の表の特定列に存在しない行を残す。例えば、図28に示すような2つの表があり、左の表1に項目名として客先名と客先コードと状態、右の表2に客先コードとメールアドレスを記録している例を考える。これらの表に対して、メールアドレスが存在しない客先のみを抜き出すには、差分抽出機能を使用する。ここでは、表1の特定列である客先コードの内、表2の客先コードが存在しない行を表1から抽出する。この結果、図29に示すように、客先コードが表2に存在せず、メールアドレスが存在していない仮名銀行をリストアップした表が作成される。
【0091】
このように、複数の表データから差分を抽出されることにより、ある表データのデータを別の表データを条件に絞り込みした結果のデータを転記する転記作業に係る自動化プログラムを生成することができる。図28の例では、左側の表を右側の表を条件に絞り込む。これにより、左側の表データのうち、右側の表データに対応する「客先コード」が無いデータを転記する自動化プログラムを生成することができる。
(共通部分抽出機能)
【0092】
さらに表の共通部分を抜き出す共通部分抽出機能について説明する。共通部分抽出機能では、複数の表に対して、一の表の特定列の内、他の表の特定列に存在する行のみを残す。例えば、上述した図28の表に対して、メールアドレスが存在する客先のみを抽出する例を考える。ここでは、表1の特定列である客先コードの内、表2の客先コードが存在する行を表1から抽出する。この結果、図30に示すように、客先コードが表2に存在し、メールアドレスが存在してする仮名マニュファクチャリングをリストアップした表が作成される。
【0093】
このように、複数の表データから共通部分を抽出することにより、差分抽出機能と同様に、ある表データのデータを別の表データを条件に絞り込みした結果のデータを転記する転記作業に係る自動化プログラムを生成することができる。図28の例では、左側の表を右側の表を条件に絞り込む。これにより、左側の表データのうち、右側の表データに対応する「客先コード」があるデータを転記する自動化プログラムを生成することができる。
【0094】
なお上述した図23図25図28の例では、2つの表を横方向、即ち行方向に並べた例を示しているが、これに限らず、縦方向や斜め方向等、任意の位置に配置された複数の表に対して、表結合機能や表縦積み機能、差分抽出機能等の各表操作機能を実行できることは言うまでもない。
(表絞込機能)
【0095】
表の絞り込みを行う表絞込機能では、特定の列でフィルタを行う。複数列の条件を入れることもできる。
(列追加機能)
【0096】
列の追加を行う列追加機能では、表計算ソフトの列を、数式を含めて追加することができる。
(列削除機能)
【0097】
列削除機能は、不要な列を削除する機能である。
【0098】
なお上述した表データ中の列に対する各種の操作は、行に対する操作とすることもでき、逆に行に対する操作を、列に対する操作に入れ替えることも可能である。
[実施形態4:Webスクレイピング]
(Web取込詳細設定)
【0099】
取得範囲指定部22は、WebブラウザWBから取得する要素データが指定された後、Webデータ取得設定画面540を表示する。Webデータ取得設定画面では、ユーザが指定した要素データと同階層の要素データを取得するか否かを選択させる。また、同階層の要素データを取得する場合に当該同階層の要素データを同じ列に配置するかもしくは同じ行に配列するかの設定を受け付ける。これらの設定により、WebブラウザWBから取得するデータが表データとしてメモリ部15に保持される。
【0100】
図32は、図33で、ユーザにより指定された要素データと同階層の要素データを取得することが選択された場合の画面である。同階層の要素データを取得することが選択された場合、取得範囲指定部22は、ユーザが指定した要素データのパスに基づいて、同階層の要素データを抽出可能な検索式を作成する。図32では、当該検索式により抽出されるパスに該当する要素データを強調表示される。
【0101】
図36は、転記元アプリケーションとしてWebブラウザWBが指定されたときに、図8のステップS904において取得範囲設定部により取得範囲を設定するときに、取得範囲設定部が実行するフローチャートである。なお、本フローチャートはWebブラウザWBにデータを取得する対象のページが表示されている状態から、取得範囲設定部が実行するフローチャートを示す。WebブラウザWBを起動することと、データを取得する対象のページを表示することとは、別途操作レコード設定部48により設定されても良い。
【0102】
取得範囲設定部は、ステップS5701として、WebブラウザWBに表示される要素データの指定を受け付ける。取得範囲設定部は、ステップS5702で、WebブラウザWBの拡張機能を介して、WebブラウザWB上でユーザが指定した要素データのパスを取得する。取得範囲設定部は、ステップS5703で、取得したパスに基づいて、当該パスに該当する要素データを強調表示させる。図31は、ステップS5703により、ユーザが指定した要素データが強調表示された状態を示す。ユーザは、自身が指定した要素データを識別することができる。
【0103】
取得範囲設定部は、ステップS5704で、ステップS5701でユーザが指定した要素データと同階層の要素データを取得するか否か判定する。ユーザが指定した要素データと同階層の要素データを取得する場合、ステップS5705として、ステップS5702で取得したパスに基づいて、ステップS5701でユーザが指定した要素データと同階層の要素データを取得するためのXpathを用いた検索式を生成する。本実施例において、ステップS5705における検索式の生成は、ステップS5702で取得するパスに基づくが、当該パスとして複数パスに基づいて検索式が生成されても良い。例えば、ユーザがステップS5701で指定した要素データと同階層の要素データであると認識する要素データの指定を受け付け、複数の要素データのパスに基づいて検索式が生成されても良い。この場合、ユーザの意図に対して同階層の要素データが抽出できる検索式が生成される確度が向上する。図32では、ステップS5705で生成された検索式により抽出される要素データが強調表示された状態を示す。ステップS5704でユーザが指定した要素データと同階層の要素データを取得しないと判定した場合、ステップS5708に進み、WebブラウザWBからのデータ取得範囲の設定を終了する。
【0104】
ステップS5705が完了すると取得範囲設定部はステップS5706で、同階層の要素データの配置方向の選択を受け付ける。ステップS5706で選択される要素データの配置方向は、WebブラウザWBから取得するデータを、メモリ部15で表データとして保持するときに、同階層の要素データが同じ列に配置されるようにするか、同じ行に配置されるようにするか、に反映される。図34は、ステップS5706において、同階層の要素データが同じ列に配置されるように設定された場合にメモリ部15で保持される表データの態様を示す。ステップS5706での選択が完了すると、取得範囲設定部は、ステップS5707として取得するデータの追加を受け付ける。ステップS5707で指定されるデータは、表データとしてメモリ部15に保持されるときに、ステップS5706で選択された配置にしたがって配置される。例えば、ステップS5706で、同階層の要素データが同じ列に配置されるように選択された場合、ステップS5707で指定されるデータは新たな列に配置されるデータとして取得される。図35は、ステップS5706において同階層の要素データが同じ列に配置されるように設定され、かつ、ステップS5707で、2種類のデータが追加された場合に、メモリ部15で保持される表データの態様を示す。なお、各ステップでの設定に応じて、図34図35に示される表データの態様が、取得するデータのプレビューとして表示されてもよい。
【0105】
ステップS5707でのデータの追加が完了した後、ステップS5708に進みWebブラウザWBからのデータ取得範囲の設定を終了する。
【0106】
以上のように、各実施形態に係る本願発明によれば、表データとして取得できるデータ群を、表データとして取得できるようにユーザにガイドすることで、自動化プログラムの作成を容易に行うことが可能である。特に自動化対象ソフトがExcelのような表計算ソフトであれば、自動認識や表の範囲設定を行うことができる。また自動化対象ソフトがWebブラウザであれば、Webスクレイピングの際の繰り返し方向の設定を容易に行える。さらに自動化対象ソフトが他の汎用的なプログラムであれば、操作内容として「データ取得」を選んだ際の、変数名設定が可能な画面を表示することで、表データに名称を付与して参照できるようにし、自動化プログラムの作成を容易に行える利点が得られる。
【産業上の利用可能性】
【0107】
本発明の自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器は、Excel等の表計算ソフトやWebブラウザ、その他の自動化対象ソフトに対する操作を自動化する自動化プログラムの作成を支援するRPAソフトなどに好適に利用できる。
【符号の説明】
【0108】
11…表示部
12…入力部;12a…キーボード;12b…マウス;12c…タッチパッド
13…バス
14…通信部
15…メモリ部
16…ストレージ部
20…プロセッサ部
21…概略手順作成部
22…取得範囲指定部
23…転記指定部;23a…転記先指定部;23b…転記単位指定部;23c…表操作部;23d…転記データプレビュー部
24…転記単位プレビュー部
25…自動化プログラム生成部
26…自動化プログラム実行部
31…繰返設定部
35…自動表認識実行部
48…操作レコード設定部
110…概略手順作成画面
111…概略手順アイコン
112…操作候補一覧
113…「追加」ボタン
114…操作選択一覧
115…「指定範囲を繰り返しにする」ボタン
117…「次へ」ボタン
118…「破棄して戻る」ボタン
119…繰り返し設定アイコン
121…アクティビティ表示欄
123…「自動表認識機能で取り出す」ボタン
124…「表計算ソフトのシートの範囲を指定」
125…「レコード機能で取り出す」ボタン
130…表計算ソフト取得範囲指定画面
132…表計算ソフト取込詳細指定欄
138…「次へ」ボタン
150…一般転記詳細設定画面
152…転記詳細指定欄
153…転記データ指定欄;153b…表データ選択欄;153c…転記単位選択欄;
154…転記単位プレビュー欄
155…表データ参照有無指定欄
156…実施操作決定欄
171…操作内容選択肢
186…「申請ID」欄
191…操作内容選択肢
202…「書き出すセルを個別に指定する」欄
208…「次へ」ボタン
220…アクティビティ一覧画面
221…概略アクティビティ表示欄
222…概略アクティビティヘッドライン部
223…概略名
224…概略ラベル
225…概略アクティビティ詳細表示領域
231…「ファイル選択」ボタン
232…「フォルダ選択」ボタン
234…「自動抽出」ボタン
235…「プレビュー」ボタン
236…「マニュアル抽出」ボタン
237…「設定」ボタン
280…操作レコード画面
300…操作レコード画面
301…表データ転記詳細設定ウィンドウ
302…表入力位置指定欄
303…表選択欄
304…表移動方向指定欄
305…行挿入指定欄
306…行削除指定欄
307…「表の移動を試す」ボタン
310…操作レコード画面
320…操作レコード画面
321…列名選択肢
358…「OK」ボタン
380…表ナビ画面
390…表操作画面
513…「Webページを開く」設定欄;513b…「設定」ボタン
514…「抽出対象の選択」欄:514b…「設定」ボタン
515…「繰り返し設定」欄;515b…「設定」ボタン
516…「出力の設定」欄;516b…「設定」ボタン
540…出力詳細設定画面
SS…表計算ソフト
WB…Webブラウザ
GS…自動化対象ソフト;GS1…経費精算アプリの「経費精算」フォーム
RS…RPAソフト
PC…コンピュータ
TW…半透明ウィンドウ
L1…表UIに対応する領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36