JP2023176618A - Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム - Google Patents

Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム Download PDF

Info

Publication number
JP2023176618A
JP2023176618A JP2022089001A JP2022089001A JP2023176618A JP 2023176618 A JP2023176618 A JP 2023176618A JP 2022089001 A JP2022089001 A JP 2022089001A JP 2022089001 A JP2022089001 A JP 2022089001A JP 2023176618 A JP2023176618 A JP 2023176618A
Authority
JP
Japan
Prior art keywords
rpa
script data
image processing
window
coordinates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022089001A
Other languages
English (en)
Inventor
裕一 川村
Yuichi Kawamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2022089001A priority Critical patent/JP2023176618A/ja
Priority to US18/135,223 priority patent/US11907740B2/en
Publication of JP2023176618A publication Critical patent/JP2023176618A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】RPAスクリプトデータを実行する際、ウィンドウのスキャンを実行することなく、操作対象となる場所を適切にRPAに指示するRPAスクリプトデータの作成方法、プログラム及び画像処理装置を提供する。【解決手段】画像処理装置とTCPコネクションを通じて接続する端末装置のリモートパネルアプリは、ウィンドウ表示された状態で操作者の操作に従い、RPAでされるべき操作の対象となった場所のウィンドウ内の座標を即値として変数に代入するスクリプト3310、3320、そのウィンドウの横画素数、縦画素数を即値として変数に代入するスクリプト3410、3420及びこれらの変数に設定されたウィンドウ内の座標、ウィンドウの横画素数E_WINwidth、縦画素数E_WINheightを含むRPAスクリプトデータ2600を作成する。これらを用いて、操作の対象となった場所の座標を再計算するスクリプト3510を生成する。【選択図】図5

Description

端末装置がRPAによる操作を行う場合に、端末装置に実行させるべきRPAスクリプトデータを作成する作成方法、実行方法に関する。
従来のRPAスクリプトデータの作成方法は、いわゆるRPAプログラミングであり、デスクトップ画面に対して、RPAによる操作の内容を、Python(登録商標)、VBScript(登録商標)、VB.NET(登録商標)、GAS(登録商標)、C#(登録商標)といったプログラミング言語の文法に従って記述することでなされる。
RPA(Robotic Process Automation)とは、従来、人間による手作業でなされていた操作画面に対する操作を、プログラムに代行させ、自動化する技術である。上記の自動化には、マウス自動制御機能、キーボード自動入力機能、スクリーンショット自動作成機能、画像認識機能、メッセージボックス機能等、様々な機能を用いることができる。これらを組み合わせることで、RPAでは、事務職の担当者が行うのと、遜色がないレベルの様々なデスクワークを実現することができる。
RPAで操作すべき、操作対象の位置は、いわゆるデスクトップ画面、つまり、オペレーティングシステムにおいて、最上位の階層に表示される画面の座標系で表現される。
一方、リモートパネルシステムを対象とした、RPAスクリプトデータを作成したいとのニーズが近年増えつつある。特許文献1は、端末装置を用いて画像処理装置を操作するリモートパネルシステムを開示する。当該端末装置は、画像処理装置の操作画面に対応するビットマップを表示し、操作すべき操作対象の位置の指定を操作者から受け付けて、その指定に応じた処理を画像処理装置に実行させる。そうした操作すべき操作対象の位置を、自動的に指定するよう、RPAスクリプトデータを作成しておけば、RPAスクリプトデータの作成者は、画像処理装置の操作をRPAに実行させることができる。
特開2016-144097号公報
ところで従来のリモートパネルシステムにおいて、端末装置に表示された状態の操作画面は、ユーザー操作により、任意に大きさが変えられる。これに対し、従来のRPAスクリプトデータ作成方法は、デスクトップ画面の座標系の座標で、操作すべき操作対象の位置を指定する。
このように、デスクトップ画面の座標系の座標で、操作すべき操作対象の位置が指定されていると、操作画面の大きさが変えられた場合、大きさが変えられた後の、操作すべき操作対象の位置を適切に指示することができないという問題がある。
本開示の第1の目的は、操作画面の大きさが変えられた場合、大きさが変えられた後の、操作位置を適切に指示することができる、RPAスクリプトデータの作成方法を提供することである。
第2の目的は、上記の作成方法で作成されたRPAスクリプトデータを用いて、RPAにより操作すべき位置の座標を適切に算出することができるRPAスクリプトデータの実行方法を提供することである。
第3の目的は、上記の作成方法を実行することができる端末装置を提供することである。
第4の目的は、上記の作成方法で作成されたRPAスクリプトデータを用いて、RPAにより操作すべき位置の座標を算出することができる画像処理装置を提供することである。
第5の目的は、上記の作成方法に用いることができるRPAスクリプトデータのデータ構造を提供することである。
第6の目的は、上記の作成方法で作成されるRPAスクリプトデータを用いて、RPAにより操作すべき位置の座標をコンピュータに算出させることができるプログラムを提供することである。
上記第1の目的は、画像処理装置用の操作画面を自端末に表示してRPAによる操作を受け付ける端末装置において、操作を行うためのRPAスクリプトデータを作成する作成方法であって、操作画面に表示されていて操作者によって選択された操作対象の位置を検出する第1ステップと、前記検出された操作対象の位置を、操作画面のサイズに基づき正規化して、正規化された位置を示す位置情報を生成し、当該位置情報をRPAスクリプトデータに記載する第2ステップとを有することを特徴とするRPAスクリプトデータの作成方法により達成される。
前記端末装置は、前記操作画面をウィンドウ表示し、前記第2ステップによる操作対象の位置の正規化は、前記操作画面をウィンドウ表示した際の表示サイズと、操作すべき操作対象の位置のウィンドウ内座標とを用いてなされるとしてもよい。
前記第2ステップは、前記ウィンドウ表示のサイズを取得するスクリプト、取得したウィンドウ表示のサイズと、位置情報に示される正規化された操作対象の位置とを用いて、前記操作対象の位置を示すウィンドウ内座標を算出する算出スクリプトを生成し、RPAスクリプトデータに記載するとしてもよい。
前記RPAスクリプトデータは、操作すべき操作対象の位置が検出された際の、端末装置の画面解像度を示す解像度情報を有し、前記第2ステップにより生成される算出スクリプトは、前記ウィンドウ内座標の算出に、前記RPAスクリプトデータの解像度情報に示される画面解像度と、RPAスクリプトデータを実行する際の端末装置の画面解像度との比率を用いるとしてもよい。
前記第2ステップは、前記画像処理装置の画面解像度と、位置情報に示される操作対象の正規化された位置とを用いて、画像処理装置の操作画面内座標を算出する算出スクリプトを生成して、RPAスクリプトデータに記載するとしてもよい。
上記第2の目的は、画像処理装置用の操作画面を自端末に表示してRPAによる操作を受け付ける端末装置において、RPAスクリプトデータを実行してRPAによる操作を行うRPAスクリプトデータの実行方法であって、操作画面のサイズを用いて正規化された位置情報に基づきRPAによる操作の対象となる位置の座標を算出する第1ステップと、算出された座標において、RPAによる操作を実行して、対応する処理を行うよう画像処理装置に指示する第2ステップとを含むことを特徴とするRPAスクリプトデータの実行方法により達成される。
前記端末装置は、画像処理装置の操作画面をウィンドウ表示し、前記第1ステップによる座標の算出は、前記ウィンドウ表示のサイズを取得して、取得したサイズと、位置情報に示される正規化された操作対象の位置とを用いて、ウィンドウ内座標を算出することでなされるとしてもよい。
前記RPAスクリプトデータは、操作すべき操作対象の位置が検出された際の、端末装置の画面解像度を示す解像度情報を有し、前記第2ステップは、前記操作すべき操作対象の位置のウィンドウ内座標の算出に、前記RPAスクリプトデータの解像度情報に示される画面解像度と、RPAスクリプトデータを実行する際の端末装置の画面解像度との比率を用いるとしてもよい。
前記第2ステップによる座標の算出は、前記画像処理装置の画面解像度と、前記位置情報に示される操作対象の正規化された位置とを用いて、画像処理装置の画面内座標を算出することでなされるとしてもよい。
前記第1ステップによる前記座標の算出は、前記端末装置及び前記画像処理装置のどちらかによってなされるとしてもよい。
更に、接続可能な画像処理装置をユーザーに提示して、何れの画像処理装置に処理を行わせるかの選択を受け付ける第1サブステップ、画像処理装置が選択されれば、当該画像処理装置の画面解像度を取得する第2サブステップを含み、前記第1ステップによる前記座標の算出は、前記RPAスクリプトデータの位置情報と、取得した画像処理装置の画面解像度との比率を用いて、画像処理装置の画面内座標を算出することでなされるとしてもよい。
RPAスクリプトデータは、複数の動作スクリプトにより構成され、RPAスクリプトデータに基づき画像処理装置に操作を指示するにあたり、画像処理装置の処理が停止したかどうかの判定を行う第3ステップ、画像処理装置による処理が停止した場合、前記何れかの動作スクリプトをエラー箇所として管理者に通知する第4ステップを有し、前記位置情報は、何れかの動作スクリプトに含まれるとしてもよい。
第4ステップにおける通知後に、RPAスクリプトデータの再作成を実行する第5ステップを有し、第4ステップは、操作タイミングの指定を管理者から受け付けるサブステップを有し、エラー箇所として通知された動作スクリプトの前後には、指定された操作タイミングに従い、動作スクリプトの発行タイミングを調整するスクリプトが挿入されるとしてもよい。
上記第3の目的は、画像形成装置の操作画面を表したビットマップを画像処理装置から受信する受信手段と、受信したビットマップをVRAMに書き込み、表示する表示手段と、RPAで実行すべき操作の登録の際、VRAMに書き込まれたビットマップのうち、操作対象とする位置の指定を操作者から受け付ける受付手段と、指定された位置を、表示されたビットマップのサイズに応じて正規化して示す位置情報を得て、位置情報を記載したRPAスクリプトデータを生成する生成手段とを備えることを特徴とする端末装置により達成される。
登録されたRPAを実行する際、現在表示されているビットマップのサイズと、正規化された位置情報に基づきRPAの対象となる位置の座標とを算出する算出手段と、算出された座標においてRPAによる操作を行い、画像処理装置の操作画面において、対応する位置にある操作対象を操作するよう、画像処理装置に指示を発する実行手段とを備えるとしてもよい。
上記第4の目的は、画像形成装置の操作画面を表したビットマップを端末装置に送信する送信手段と、RPAで操作を実行する際、正規化された位置情報を端末装置から受信する受信手段と、端末装置において表示されているビットマップのサイズと、正規化された位置情報とに基づきRPAの対象となる位置の座標を算出する算出手段とを備え、前記端末装置は、算出手段により算出された座標を用いてRPAによる操作を実行することを特徴とする画像処理装置により達成される。。
上記第5の目的は、RPAを実行するコンピュータによりアクセスされるスクリプトデータのデータ構造であって、RPAで行うべき個々の手順に対応するフィールドを有し、前記何れかの1つのフィールドは、操作画面において操作者によって選択された操作対象の位置を、当該操作画面のサイズで正規化して示す位置情報と、前記操作対象の位置に対してRPAで行うべき操作の内容を示すスクリプトとを含むことを特徴とするRPAスクリプトデータのデータ構造により達成される。
上記第6の目的は、画像処理装置用の操作画面を表示するコンピュータに、RPAによる操作を実行させるプログラムであって、操作画面のサイズを用いて正規化された位置情報に基づいて、前記表示された操作画面における、操作の対象となる座標を算出させる第1コードと、算出された座標において、RPAによる操作をコンピュータに行わせる第2コードとを含むことを特徴とするプログラムにより達成される。。
ここで、正規化とは、画像処理装置用の操作画面内で指定された位置の座標が、端末装置で表示される際の大きさに関わらず、一定の数値範囲になるよう、操作画面のサイズに基づき変換する変換法のことである。
そうした変換法として様々な変換法がある。例えば、
1)ウィンドウ表示されたリモートパネル内で指定された位置のX座標、Y座標を、ウィンドウの横画素数、縦画素数で割るという計算による変換法、
2)ウィンドウ表示されたリモートパネル内で指定された位置のX座標、Y座標を、ウィンドウの長辺及び短辺に対する内分比で表すという変換法、
3)ウィンドウである表示枠及びリモートパネル内で指定された位置を通過する線を、1つのベクタグラフィクスとして捉え、ベクタデータで表現するという変換法、
4)画像処理装置用の操作画面内で指定された位置のX座標、Y座標を、極座標系等、別の座標系に変換するという変換法
5)ウィンドウ内でタッチされた位置を示すX座標、Y座標を、所定の数値範囲に写像する写像法による変換法等を用いることができる。全ての正規化の態様を説明するとなると説明が煩雑になるので、以降実施形態では、上記の1)の変換法により、操作画面内で操作者により指定された位置を表すようにしている。
正規化された位置を示す位置情報とは、上記の変換法を表す計算式、又は、上記の変換法の計算で得られた数値のことであり、例えば、RPAプログラミング言語の様々な記法を用いて作成することができる。
例えば、上記の変換法にあたる計算を実行するスクリプト、RPAスクリプトデータの変数に設定される即値、RPAスクリプトデータの変数に設定されるべき定数を格納した定数領域、配列変数等により表現することができる。こうした位置情報の全ての態様を表すとなると説明は煩雑になるので、以降の実施形態では、スクリプト及び即値を用いて1)の変換法を表す例について説明する。
位置情報は、検出された操作すべき操作対象の位置を、前記位置を検出した際の操作画面のサイズに基づき正規化して示すので、操作画面のサイズが変えられた場合、大きさが変えられた後の、RPAによる操作をすべき位置を適切に指示することができる。
RPAシステムの構成を示す。 端末装置2000のハードウェア構成を示す。 図3(a)は、端末装置2000のHDD2005、画像処理装置1000のHDD1005にインストールされているプログラムのソフトウェアスタックを示す。図3(b)は、端末装置2000と、画像処理装置1000との間でなされる通信のプロトコルスタックを示す。 マルチウィンドウシステムにより各アプリケーションに割り当てられるウィンドウの一例を示す。 (a)RPAスクリプトデータ2600の構成を示す。(b)タッチされた位置のウィンドウ内座標を正規化して示すのと共に、当該ウィンドウ内座標の再計算を行わせるスクリプトの一例を示す。 RPAスクリプトデータを作成する際のデスクトップ画面4001、RPAスクリプトデータを実行する際のデスクトップ画面4002を示す。 RPAツール2500によるRPAスクリプトデータ作成手順を示すフローチャートである。 リモートパネルアプリ2400の処理手順を示すフローチャートである。 (a)は、ステップS203により、LCD2001に表示されるリモートパネルの一例を示す。(b)は、設定メニューを呼び出すボタン4160がタッチされた際、RPA端末に表示される画面である。 RPAスクリプトデータ実行手順を示すフローチャートである。 第2実施形態にかかるRPAツール2500の処理手順を示すフローチャートである。 ウエイト時間指定画面の一例を示す図である。 ウエイト時間を特定することで、エラー停止箇所の直前に挿入される動作スクリプトを示す。 第2実施形態にかかるRPAツール2500の処理手順を示すフローチャートである、 変形例にかかるRPAツール2500の処理手順を示すフローチャートである。
[1]システム構成
以下、図面を参照しながら、本開示にかかる画像処理装置、端末装置の実施形態について説明する。図1は、本実施形態にかかるRPAシステムの構成を示す。本図に示すように、RPAシステムは、画像処理装置1000、1010、1020、端末装置2000とで構成される。RPA(Robotic Process Automation)とは、デスクトップ画面を対象とした操作を、自動化するプログラムであり、RPAシステムでは、RPAにより実行すべき一連の手順を示すデータ(RPAスクリプトデータ)が端末装置2000によって作成され、端末装置2000のストレージに保存されて利用に供される。
画像処理装置1000はA3用紙への画像形成が可能なMFP(Multi function Peripheral)、画像処理装置1010はA4用紙への画像形成が可能なSFP(Single function Peripheral)、画像処理装置1020はAIO(All InOne)機である。
画像処理装置1000のタッチパネルディスプレイ1001は例えば10インチ、画像処理装置1010、1020のタッチパネルディスプレイ1011、1021は、例えば8インチであり、互いにタッチパネルの大きさが異なる。また、画面解像度が異なるものとする。
尚、本実施形態では各画像処理装置のタッチパネル1010、1020、1030の画面解像度を、画面全体の横画素数と、縦画素数との組で表わす。これは、後述するウィンドウ内座標の計算を簡単にするためである。以降、端末装置2000により、画像処理装置1000を操作するケースについて説明する。
端末装置2000は、画像処理装置1000を操作するユーザーが、画像処理装置1000と共に使用する装置であり、画像処理装置1000のタッチパネルディスプレイ1001に表示される画面1001Dと同じ画面(リモートパネル)2001DをLCD2001上に表示し、当該リモートパネルに対する操作をユーザーから受け付け、その操作に応じた処理を、画像処理装置1000に命じる。
[2]端末装置2000、画像処理装置1000のハードウェア構成
図2に、端末装置2000のハードウェア構成を示す。
本図に示すように、端末装置2000は、ユーザーに対して対話的な操作環境を提供するLCD2001、ポインティングデバイスの一例であるマウス2002、キーボード2003、ネットワークI/F2004、様々なプログラムがインストールされたHDD2005、HDD2005にインストールされたプログラムのうち、必要なものがロードされるRAM2006、RAMにロードされるプログラムを実行するCPU2007、プログラムの実行にあたり、必要な設定を保存しておくためのフラッシュROM2008、マウス2002、キーボード2003に対する入力操作を受け付けるための周辺I/O2009を有する。
ネットワークI/F2004は、LAN接続、WAN接続を行う通信モジュールである。通信モジュールは、Bluetooth(登録商標)、、Wi-Fi、 EnOcean、 特定小電力 (Wi-SUN) 等の近距離通信モジュールを含み、無線を通じた操作情報及び画像データ送受信を実行する。RAM2006は、VRAMを有し、LCD2001が表示を行う1画面分の画素を示す画素データがここに格納される。
画像処理装置1000も、端末装置2000と同様のハードウェア構成(タッチパネルディスプレイ1001の他、図3(a)に示すネットワークI/F1004、HDD1005、RAM1006、CPU1007、ROM1008)を有していて、必要なプログラムがHDDにインストールされている。タッチパネルディスプレイ1001における操作は、HDD1005に格納された複数のページデータを用いてなされる。複数のページデータのそれぞれは、階層的なメニュー構造をなし、操作対象を定義するタグを含む。各タグは、操作対象を表すグラフィクスデータを格納したファイルのファイルパス(ディレクトリ名、ファイル名からなる)と、その操作対象の配置座標を示す座標情報と、その操作対象に対する操作が確定した際、実行すべきスクリプトとを示す。スクリプトには、他のページデータへのリンクを規定したもの、画像形成に関する設定処理を規定したものがある。
これに対しLCD2001に表示される操作画面は、タッチパネルディスプレイ1001と同じ操作画面を表すビットマップであり、操作画面の内容を、赤画素(R)、緑画素(G)、青画素(B)の加法混合で表す。ビットマップであるから、GUI部材の状態を変化させることはできず、ページを切り替えることはできない。従って、画像処理装置1000に制御を指示するには、LCD2001に表示されたビットマップのリモートパネル(操作画面用の操作画面)において、クリック操作を受け付け、そのクリックされた位置の座標を示す操作情報を画像処理装置1000に送信し、その座標でタッチパネルディスプレイ1001がタッチされたのと、同じ処理を画像処理装置1000に実行させねばならない。
HDD2005に格納されるプログラムには、RPAによる一連の操作を示すプログラムがある。RPAによる一連の操作を示すプログラムは、ページデータに組み込まれていたコード(本実施形態ではRPA用のスクリプト)からなる。RPA用スクリプトが組み込まれたページデータをRPAスクリプトデータと呼ぶ。
[3]ソフトウェアスタック
図3(a)は、端末装置2000のHDD2005、画像処理装置1000のHDD1005にインストールされているプログラムのソフトウェアスタックを示す。
端末装置2000のソフトウェアスタックは、端末装置2000のハードウェア2100に、オペレーティングシステム(OS)2200が配され、アプリケーション2300が配されるという制御階層になっている。
画像処理装置1000のソフトウェアスタックも、端末装置2000同様、画像処理装置1000のハードウェア1100に、OS1200が配され、アプリケーション1300が配されるという制御階層になっている。
端末装置2000のOS2200及び画像処理装置1000のOS1200は、ネットワークI/F2004、1004を経由したプロトコルスタックによるデータ通信を実行する。アプリケーション2300、1300は、図3(b)に示すTCPプロトコル1134、2034、IPプロトコル1124、2024、近距離通信1114、2014によりTCPコネクション2104を確立し、TCPコネクション2104を通じて、HTTPメッセージの送受信を実行する。
TCPコネクション2104は、端末装置2000がホスト側になって、アプリケーション2300が相手側のアプリケーション1300のTCPポートのポート番号と自分のポート番号を指定して接続要求を発し、アプリケーション1300が、接続側から要求されたポートが接続待ちになっていることを確認して応答を返すことで確立される。
端末装置2000で動作するアプリケーション2300、及び、画像処理装置1000で動作するアプリケーション1300は、接続時にホスト側が指定したポート番号を用いて、TCPコネクション2104を画像データ、操作情報の送受信に利用する。
(3-2)画像処理装置1000のソフトウェアスタック
アプリケーション1300は、MFPパネルアプリ1400、処理実行アプリ1500を含む。また、リモート操作モードのための構成要素として、OS1200は、操作系統制御部1600を含む。
パネルアプリ1400は、HDD1005に格納された複数のページデータを読み出して、操作画面を表示に供する。また、タッチパネルディスプレイ1001からの操作入力に応じて、操作画面の遷移を行う。タッチパネルディスプレイ1001からの操作入力は、タッチパネルディスプレイ1001においてどの位置が操作されたかを示す操作情報であり、タッチパネルディスプレイ1001のパネル座標系における座標と、その座標に対してなされた操作(タッチ、ドラッグの種別)を示す。現在の操作画面に対応するページデータにおいて、当該座標にある操作対象を確定することで、当該操作対象に対応するスクリプトを実行する。確定した操作対象に対応するスクリプトが、他のページデータへのリンクを規定したリンクスクリプトであれば、操作画面は、その他のページデータに対応する操作画面に切り替わる。確定した操作対象に対応するスクリプトが、画像形成に関するパネル設定、ジョブ設定であれば、それらパネル設定、ジョブ設定を実行する。
処理実行アプリ1500は、MFPパネルアプリ1400になされた操作入力に従い、パネル設定を実行して、ジョブや画像処理装置1000を事業所に設置する際の設定や実行する。
操作系統制御部1600は、リモート操作モードにおける操作系統の切り替えを行う。具体的にいうと、リモート操作モードにおいてパネルディスプレイ1001からの操作入力に代えて、端末装置2000とのTCPコネクション2104を介した操作入力を有効とし、ページデータにより描画された操作画面のビットマップをTCPコネクションを介して端末装置2000に出力する。タッチパネルディスプレイ1001からの操作入力に代えて、TCPコネクション2104からの操作入力が有効になることで、画像処理装置1000における操作画面は、端末装置2000からの操作入力で切り替わることになる。
(3―3)端末装置2000のソフトウェアスタック
OS2200は、カーネル2210、マルチウィンドウシステム2220を含む。
カーネル2210は、RAM2006の複数の部分領域をそれぞれ各アプリケーションに割り当て、複数のアプリケーションを起動して、各アプリケーションの動作を監視する。
マルチウィンドウシステム2220は、複数のアプリケーションのそれぞれにウィンドウを割り当てて表示に供することで、対話的な操作環境をユーザーに提供する。
ウィンドウとは、マルチウィンドウシステム2220により、個々のアプリケーションに割り当てられる表示領域の単位であり、図4に示すように表示枠3001に囲まれた態様で、アプリケーション画面3002(アプリケーションにより描画された内容を示す画面のこと)を表示させることができる。表示枠一杯にアプリケーション画面全体が表示されるので、表示枠3001が端末装置2000に表示される操作画面(リモートパネル)全体になる。
表示枠の周囲3001には、様々なGUI部品が配される。そうしたGUI部品としては、水平方向のスクロールを受け付ける水平スクロールバー3003、垂直方向のスクロールを受け付ける垂直スクロールバー3004、様々なメニューのプルダウン(引き出し)を可能とするメニューバー3005、アプリケーションの名前を示すタイトルバー3006、アプリケーションの状態を示すステータスバー3007、最小化ボタン3008、全画面指示ボタン3009、閉じるボタン3010がある。ユーザーは、ウィンドウの境界3011をドラッグすることで、アプリケーション画面をリサイズすることができる。また、所望の位置に移動させることができる。ウィンドウが、これらのGUI部材やアプリケーション画面に対する操作を受け付ける状態になったことをアクティブという。ウィンドウが表示された状態で、カーソルによりそのウィンドウが指示されると、当該ウィンドウはアクティブになる。マルチウィンドウシステム2220は、RAM2006におけるVRAMに、TCPコネクション2104を介して受信したビットマップを描き込むことで、画像処理装置1000に対応する操作画面のウィンドウ表示を行う。。
カーネル2210により管理されるアプリケーション2300の代表的なものとして、図3(a)に示すリモートパネルアプリ2400、RPAツール2500がある。
リモートパネルアプリ2400は、アプリケーション2300の1つであり、画像処理装置1000から出力されたビットマップのウィンドウ表示を行う。ビットマップなので、ウィンドウの境界をクリックしてリサイズ操作を行えば、リサイズ操作に応じてビットマップのサイズは変化し、横画素数、縦画素数は変化する。
リモートパネルアプリ2400は、画像処理装置1000において、端末装置2000からの操作入力が有効になっている状態で、操作情報を、パネルアプリ1400に出力し、端末装置2000からの操作入力に応じた画面遷移をパネルアプリ1400に行わせる。
RPAツール2500は、RPAで行うべき操作を登録し、また登録されたRPA操作を実行することができる。その登録は、RPAで行うべき一連の操作を示すRPAスクリプトデータ2600を生成して、HDD2005に書き込むことでなされる。また登録されたRPA操作の実行は、登録された操作を示すRPAスクリプトデータ2600をHDD2005から読み出して、RPAツール2500に実行させることでなされる。RPAスクリプトデータ2600の作成にあたっては、画像処理装置1000の操作画面のビットマップであるリモートパネルを端末装置に表示させて、当該リモートパネルに対するユーザー操作を受け付け、そのユーザー操作でタッチ等の入力がなされた位置を画素単位で検出して座標情報を得て、検出された座標情報からスクリプトを作成する。そうした座標情報からのスクリプト作成を繰り返して、RPAスクリプトデータ2600を得る。
一方、RPAスクリプトデータの実行にあたっては、RPAスクリプトデータ2600の個々の手順を構成する個々のスクリプトの座標情報をリモートパネルアプリ2400に送信して、当該座標情報に基づくリモート操作をリモートパネルアプリに実行させる。
[4]RPAスクリプトデータの構成
かかる計算により、RPAで操作すべき位置は、ウィンドウの左上頂点を(0、0)、ウィンドウの右下を(1、1)とした0~1の範囲で表現される。尚、上述の通り、ビットマップには操作対象のタグのような情報要素がないので、RPAスクリプトデータにおける座標は、ビットマップの何れかの画素を指定しているに過ぎない。
図5(a)は、RPAスクリプトデータ2600のデータ構造を示す。本図に示すように、RPAスクリプトデータ2600は、1番目の手順を表すスクリプトが記述されるフィールド2601、2番目の手順を表すスクリプトが記述されるフィールド2602、3番目の手順を表すスクリプト2603・・・m番目の手順を表すスクリプトが記述されるフィールド2604により構成される。
(4-1)RPAスクリプトデータの記述に用いることができるRPA関数
以上のRPAスクリプトデータをRPAツール2500に実行させる場合、これらの手順の記述に、例えばPYAutoGUIを用いることができる。PYAutoGUIはRPA用関数を提供するプログラムライブラリである。PYAutoGUIにより提供されるRPA関数のうち、以下のものは、デスクトップ画面の座標系を対象とした操作を規定する。

・click(x,y,button,clicks=right/left,interval)

引数で指定された座標(x,y)において、引数intervalで指定された時間間隔だけ、引数clicksで指定された操作イベントを発生させる。
上記の関数で扱われる座標は、図6の端末装置2000におけるデスクトップ画面4001、4002の画面左上を原点とし、画面右方向をX軸方向、画面下方向をY軸方向としたデスクトップ画面座標系の座標で表現される。一方、リモートパネルは、マルチウィンドウシステム2220によりウィンドウの表示枠3001の内側に配されて表示される。ウィンドウ内の場所は、図4に示すアプリケーション領域(表示枠3001)左上を原点とし、画面右方向をX軸方向、画面した方向をY軸方向としたウィンドウ内座標系の座標で表現される。
(4-2)ウィンドウ表示サイズの違い
RPAスクリプトデータの作成時と、RPAスクリプトデータの実行時とでは、ウィンドウの表示サイズが異なることがある。本実施形態では、ウィンドウ表示サイズを、ウィンドウの表示枠内のアプリケーション画面3002の横画素数と、縦画素数との組で表すものとする。
デスクトップ画面4001は、RPAスクリプトデータを作成する際の画面であり、デスクトップ画面4002は、RPAスクリプトデータを実行する際の画面である。作成時のデスクトップ画面4001は、リモートパネルを配したウィンドウ4100が配されている。ウィンドウ4100は、かなり大きめに設定されていて、その横画素数、縦画素数は、変数M_WINwidth、M_WINheightに設定される。
また、画像処理装置1000を操作するためのボタン4110、4120、4130、4140、4150、4160が配されている。リモートパネルのうち、ユーザーにより操作された場所(図6では、ボタン4160の中央位置)は、変数M_BTNx、M_BTNyに明示される。
一方、実行時のデスクトップ画面4002においては、複数のウィンドウが同時に表示されているため、リモートパネルを配してアクティブになったウィンドウ4200のサイズが小さめになっている。そうした、RPAスクリプトデータを実行する際にアクティブになったウィンドウ4200の横画素数、縦画素数は、変数E_WINwidth、E_WINheightに設定される。
作成時と比較して、実行時のウィンドウサイズが小さい場合、ボタン4110、4120、4130、4140、4150、4160の位置関係は、サイズに関わりなく同じ又はほとんど同じであるが、ウィンドウの左上の点から各ボタンまでの距離がかわるので、それらが占有する領域も変わってくる。この実行時のリモートパネルにおいて、操作すべき場所は、変数E_BTNx、E_BTNyに明示される。
RPAスクリプトデータ2600の大きな特徴は、RPAの登録にあたり、変数E_BTNx、E_BTNyに明示される操作すべき場所を、ウィンドウ表示の操作画面のサイズに応じて正規化して示す点である。タッチされた位置の座標を、正規化して示すスクリプトの一例を図5(b)に示す。
図5(b)において、もっとも下に記載されたスクリプト3110は(プログラムの発明の第1コードに対応する。)、図6に示した変数E_BTNx、E_BTNyを引数にしていて、これらの引数で指定される位置にクリックイベントを発生せよとRPAツール2500に命じる。
スクリプト3210、3220は、スクリプト3110の引数となる変数E_BTNx、E_BTNyに値を設定する再計算の計算式を規定する。
スクリプト3210は(プログラムの発明の第2コードに対応する。)、変数M_BTNxと、変数M_WINxとの差分に、M_WINwidthと、E_WINwidthとの比率を乗じたものを、変数E_BTNxに設定するという再計算をRPAツール2500に実行させる。
スクリプト3220は(スクリプト3210同様、プログラムの発明の第2コードに対応する。)、変数M_BTNyと、変数M_WINyとの差分に、M_WINheightと、E_WINheightとの比率を乗じたものを、変数E_BTNyに設定するという計算をRPAツール2500に実行させる。スクリプト3210、3220の被演算子のうち、E_WINwidth、E_WINheightは、RPAスクリプトデータの実行時に値が決まる。
残りの変数は、RPAスクリプトデータの作成時に値が決まる。スクリプト3310、3320は、スクリプト3210、3220で使用されている変数M_BTNx、M_BTNyに即値を設定する。ここでの即値とは、RPAスクリプトデータが作成された際、操作された場所のウィンドウ内のX座標、Y座標を示す。
スクリプト3410、3420は、スクリプト3210、3220の計算式で使用されている変数M_WINwidth、M_WINheightに即値を設定する。ここでの即値とは、RPAスクリプトデータが作成された際、操作されたリモートパネルを含むウィンドウの横画素数、縦画素数である。
スクリプト3430、3440は、スクリプト3210、3220の計算式で使用されている変数M_WINx、M_WINyに即値を設定する。ここでの即値とは、RPAスクリプトデータが作成された際、操作されたリモートパネルを含むウィンドウの左上X座標、左上Y座標である。
スクリプト3511~3513は、マルチウィンドウシステム2220を制御する関数を用いてスクリプト3210、3220で使用されている変数E_WINwidth、E_WINheightを設定する。
スクリプト3511は、変数hWnd、構造体変数rwを引数にして、GetWindowRect関数を呼び出す内容の関数呼び出しスクリプトである。GetWindowRect関数とは、MicroSoft社のWindows(登録商標)において、ウィンドウに関する情報を提供する関数であり、当該関数を呼び出すことで、構造体変数rwのメンバー変数rw.right、rw.left、rw.bottom、rw.topに、戻り値が設定される。
rw.rightにはウィンドウの右下頂点のX座標、rw.leftにはウィンドウの左上頂点のX座標、rw.bottomにはウィンドウの右下頂点のY座標、rw.topにはウィンドウの左上頂点のY座標がそれぞれ設定される。
動作スクリプト3512、3513は、これらのメンバー変数を用いた、ウィンドウ横画素数、縦画素数の計算である。つまり動作スクリプト3512は、メンバー変数rw.rightと、rw.leftとの差分をE_WINwidthとし、動作スクリプト3513は、メンバー変数rw.topと、rw.bottomとの差分E_WINheightとする。尚、本実施形態では、MicroSoft社のWindows(登録商標)により供給される関数を用いて、ウィンドウ横画素数、縦画素数を算出したが、これに限られない。他のオペレーティングシステムのマルチウィンドウシステムにより供給される関数を用いて、横画素数、縦画素数を算出してもよい。
RPAスクリプトデータにおいて、RPAツール2500にカーソル移動を行わせるスクリプト3110の前に、引数となる変数を計算するスクリプト3210、3220、即値を設定するスクリプト3310、3320、3410、3420、3430、3440があり、アクティブになっているウィンドウの横画素数、縦画素数を求めるスクリプト3511、3512、3513が配されており、RPAスクリプトデータの作成時において、ウィンドウ内でタッチされた位置の座標は、ウィンドウの横画素数、縦画素数で正規化された態様になっているので、RPAスクリプトデータの実行時にE_WINheight、E_WINwidthの値を決めれば、RPAツール2500に指示すべき座標を計算することができる。
[5]RPAツール2500、リモートパネルアプリ2400の処理手順
(5-1)RPAツール2500によるウィンドウオープン
RPAツール2500は、図7、図10のフローチャートに示される処理手順を実行するよう、CPU2007に指示するコード列により構成される。リモートパネルアプリ2400は、図8のフローチャートに示される処理手順を実行するよう、CPU2007に指示するコード列により構成される。図7は、RPAツール2500の処理手順を示すフローチャート、図8は、リモートパネルアプリ2400の処理手順を示すフローチャートである。図7におけるiは、RPAスクリプトデータで指示されるべき複数の手順のそれぞれを指示する変数であり、1からmまでの値をとる。
図7のステップS101において、RPA用メニューバー、タイトルバーを含むウィンドウをオープンして、リモートパネルアプリ2400を起動する。
(5-2)リモートパネルアプリ2400によるリモートパネルの表示及び更新
図8のステップS201は、RPAツール2500により起動されたかどうかの判定であり、RPAツール2500により起動された場合(ステップS201でYes)、画像処理装置1000の画面を示す画像データが受信されたかどうかを判定する(ステップS202)。受信されれば、RPAツール2500が開いたウィンドウに、リモートパネルを配置する(ステップS203)。
図9(a)は、ステップS203により、LCD2001に表示されるリモートパネルの一例を示す。本図に示すように、画像処理装置のリモートパネルは、ウィンドウ5000上に、タブ5100を配して、このウィンドウの表示領域に配される。タブ5100は、機種名表示5110、装置名表示5120、RPAスクリプトデータの作成、実行を受け付けるためのRPA作成/実行ボタン5130、RPAスクリプトデータの更新操作を受け付けるための更新ボタン5140、終了ボタン5150を含む。
ウィンドウ5000の下端には、画像処理装置1000の登録キーに対応するボタン4410、4420、4430、4440と、ジョブ開始を指示する旨のスタートボタン4210、ジョブを停止する旨のストップボタン4220、パネル設定をリセットするリセットボタン4230が配される。
図9(a)のリモートパネルはトップ画面であり、コピー設定を指示するボタン4110、ファックス/スキャン設定を指示するボタン4120、ボックス操作を指示するボタン4130、アドレス帳設定を指示するボタン4140、簡単セキュリティ設定を指示するボタン4150、設定メニューの呼び出しを指示するボタン4160が配置される。
接続した画像処理装置の機種と、選択された画像処理装置のタッチパネルディスプレイ1001の解像度から、MFPパネルの横画素数MFPwidth、縦画素数MFPheightを取得する(ステップS204)。以下、画像処理装置の機種を表示して(ステップS205)、ステップS207~S208のループに移行する。
ステップS208は、E_BTNx、E_BTNyを含む操作情報がRPAツールにより出力されたかどうかの判定である。出力されれば(ステップS208でYes)、ステップS211において、アクティブウィンドウにおける操作すべき場所の座標E_BTNx、E_BTNy、タッチパネルディスプレイ1001の解像度を構成する横画素数E_WINwidth、縦画素数E_WINheight、タッチパネルディスプレイ1001の解像度を構成する横画素数MFPwidth、縦画素数MFPheightから以下の数1の式に基づき、座標MFPX、MFPYを算出する(ステップS211)。
座標MFPX、MFPYと、操作情報とを含む操作情報を画像処理装置1000に出力する(ステップS212)。
ステップS207は、更新後の操作画面を示す画像データが受信されたかどうかの判定である。受信されれば(ステップS207でYes)、更新後の操作画面を示す画像データを用いてリモートパネルを更新し(ステップS213)、ステップS206~S208のループに戻る。
(5-3)RPAツール2500による動作スクリプト生成
RPAツール2500においては、変数iに1を設定して(図7のステップS102)、ステップS103~S112からなるループに移行する。
ステップS103は、リモートパネルに対する操作があったかどうかの判定である。操作がなされれば(ステップS103でYes)。リモートパネルに対してなされた操作は場所の指定を伴うかどうかを判定する(ステップS104)。
場所の指定を伴わない場合(ステップS104でNo)、操作者によりなされた操作と同じ操作を示す動作スクリプトを、i番目の手続きをなす動作スクリプトとする(ステップS105)。
場所の指定を伴う場合(ステップS104でYes)、変数E_BTNx、E_BTNyで指示される位置で、登録者が行った操作と同じ操作を示す動作スクリプトを、i番目の手続きをなす動作スクリプトとする(ステップS106)。
操作すべき操作対象の位置を正規化して示すスクリプトを生成する。操作すべき操作対象の位置を正規化して示すスクリプトとは、以下の1)~5)のスクリプトであり、これらをi番目の手続きをなすスクリプトとする(ステップS107)。
1)変数E_WINwidth、E_WINheightにアクティブウィンドウの横画素数、縦画素数を設定するスクリプト、
2)変数M_WINwidth、M_WINheightにスクリプト作成時のウィンドウの横画素数、縦画素数を設定するスクリプト、
3)変数M_WINx、M_WINyにスクリプト作成時の左上基準X座標、左上基準Y座標を設定するスクリプト、
4)変数M_BTNx、M_BTNyに、リモートパネル内でポインティングされたウィンドウ内X座標、Y座標を設定するスクリプト、
5)変数M_BTNx、M_BTNyから変数E_BTNx、E_BTNyを導く計算式のスクリプト

以上のスクリプトを生成した後、リモートパネルアプリ2400に画面更新、及び、画像処理装置1000への操作情報の出力を行わせる。ステップS108において、ウィンドウの横画素数、縦画素数を示すE_WINwidthにM_WINwidthの値を、E_WINheightにM_WINheightの値を、変数E_BTNxにM_BTNxの値を、変数E_BTNyにM_BTNyの値をそれぞれ設定する。以降、リモートパネルアプリ2400に対して操作情報を出力する(ステップS109)。操作情報は、上述したスクリプトにより計算されたE_BTNx、E_BTNyを含む。以降、i番目の操作により、リモートパネルが更新されるのを待つ(ステップS110でNo)。
図9(b)は、設定メニューを呼び出すボタン4160がタッチされた際、端末装置2000に表示される画面であり、環境設定を受け付けるボタン4310、管理者/本体登録を受け付けるボタン4320、宛先/ボックス登録を受け付けるボタン4330、ユーザー認証・部門設定を受け付けるボタン4340、ネットワーク設定を受け付けるボタン4350、コピー設定を受け付けるボタン4360、プリンター設定を受け付けるボタン4370、システム接続を受け付けるボタン4380が配される。
リモートパネルが更新されれば(ステップS110でYes)、ストップキーの押下により、作成終了が指示されたかどうかを判定する(ステップS111)。作成終了が指示されない場合(ステップS111でNo)、変数iをインクリメントして(ステップS112)、ステップS103に戻る。以下、作成終了の操作がなされるまで、ステップS103~S112の処理を繰り返す。
作成終了の処理がなされれば(ステップS111でYes)、これまでに作成された手続きを表す動作スクリプトをRPAスクリプトデータとして保存する(ステップS113)。
(5-4)RPAスクリプトデータ実行手順
図10は、RPAスクリプトデータ実行手順を示すフローチャートである。先ず、ステップ301において、接続可能な画像処理装置(図1においては、画像処理装置1000、1010、1020)を一覧表示し(ステップS301)、何れかの画像処理装置が選択されるのを待つ(ステップS302でNo)。選択されれば(ステップS302でYes)、図7のステップS101同様、RPA用メニューバー、タイトルバーを含むウィンドウをオープンして、選択された画像処理装置を指定した上、リモートパネルアプリを起動する(ステップS303)。こうした指定によりリモートパネルアプリ2400は、選択された画像処理装置の画面を示す画像データを受信し(図8のステップS202でYes)、RPAツール2500が開いたウィンドウと、選択されたリモートパネルとによりウィンドウ表示を行う(図8のステップS203)。
続く図10のステップS304では、HDD2005に格納されたRPAスクリプトデータを一覧表示し、操作者に供する。ステップS305では、RPAスクリプトデータの何れかが操作者により選択されたかどうかを判定する。
何れかのRPAスクリプトデータが選択されれば(ステップS305でYes)、RPA実行ボタンを有効化した後(ステップS306)、RPA実行ボタンが押下されるのを待ち(ステップS307でNo)、押下されれば(ステップS307でYes)、変数iに1を設定して(ステップS308)、ステップS309~S311からなるループを実行する。
このループでは、RPAスクリプトデータのi番目の手順をなすスクリプトを実行し(ステップS309)、変数iが総数mを下回ったかどうかを判定して(ステップS310)、下回れば(ステップS310でYes)、変数iをインクリメントして(ステップS311)、ステップS309に戻るという手順を繰り返す。ループ継続要件は、iがmを下回ることなのでiが1からm-1になるまでの間ステップS309に戻り、iがmになった段階でステップS310がNoになって、処理を終了する。
(5-5)作成されたRPAスクリプトデータを他装置で用いるケース
画像処理装置1000の操作画面と同じリモートパネルを端末装置2000に表示させて、これを対象にRPAスクリプトデータを作成した後、端末装置2000が画像処理装置1010と接続して、端末装置2000がRPAスクリプトデータを実行する場合について説明する。
このケースは、図10のステップS301において画像処理装置が一覧表示された際、画像処理装置1010が選択されたというケースである。この場合、リモートパネルアプリ2400は、図8のステップS203において、RPAツール2500が開いたウィンドウに、画像処理装置1010の操作画面に対応するリモートパネルを配置し、ステップS204において、接続した画像処理装置の機種、タッチパネルディスプレイの横画素数、縦画素数を取得し、取得した横画素数、縦画素数を、上述した変数MFPwidth、MFPheightに格納する。
リモートパネルをリモートパネルアプリ2400に表示させる。上述したように、画像形成装置1010のタッチパネルディスプレイ1011の画面解像度は、画像処理装置1000のタッチパネルディスプレイ1001の画面解像度とは異なるので、画像処理装置1010のリモートパネルは、画像処理装置1000のリモートパネルとは異なる大きさのウィンドウに配される。
以上の過程でリモートパネルが表示された後、実行されるべきRPAスクリプトデータが選択されると、図10のステップS309により、RPAスクリプトデータの個々の手順を構成するスクリプトが実行される。
かかるスクリプトの中で、図5(b)に示したスクリプト3511、3512、3513、3210、3220は、操作すべき操作対象の位置を正規化して示すスクリプトであり、これらを実行することで、ウィンドウ内座標を算出する。
具体的にいうと、スクリプト3511~3513を実行することで、アクティブウィンドウに配された現在のリモートパネルの横画素数、縦画素数を算出して、E_WINwidth、E_WINheightに設定する。スクリプト3210は、E_WINwidthと、M_WINwidthとの比率から、操作対象となるウィンドウ内の座標を算出して、E_BTNxに格納し、スクリプト3220は、E_WINheighと、M_WINheighとの比率から、操作対象となるウィンドウ内の座標を算出して、E_BTNyに格納する。
こうして、E_BTNx、E_BTNyに座標を設定した後、スクリプト3110によりクリックイベントを発生する。
一方、リモートパネルアプリ2400においては、図8のステップS211において、画像処理装置1010から取得した横画素数を示す変数MFPwidth、画像処理装置1010から取得した縦画素数を示す変数MFPheight、現在のリモートパネルの横画素数を示すE_WINwidth、現在のリモートパネルの縦画素数を示すE_WINheightを用いて上述した数1の計算を行って座標MFPX、MFPYを算出して、この座標がタッチされた旨を、画像処理装置1010に指示する。
以上の過程により、画像処理装置1000を対象にして作成したRPAスクリプトデータを用いて、端末装置2000から画像処理装置1010をリモート操作することができる。画像処理装置1020のリモートパネルを操作する場合も同様である。
[6]まとめ
以上のように本実施形態によれば、RPAスクリプトデータには、RPAスクリプトデータを作成した際のウィンドウの横画素数及び縦画素数を変数に設定するスクリプト、RPAスクリプトデータの作成時において、ユーザによりタッチされた場所のウィンドウ内の座標を正規化して示すスクリプトと、当該座標を再計算するスクリプトとが、RPAスクリプトデータに生成されるので、RPAスクリプトデータを実行するにあたり、リモートパネルを表示するためのウィンドウの大きさを意識することなく、ウィンドウを用いてリモートパネルを表示して、RPAスクリプトデータによって規定された操作手順の実行を命じることができる。
[3]第2実施形態
第1実施形態では、ウィンドウ内で操作された座標を変数M_BTNx、M_BTNyに代入するスクリプトを生成したが、何等かのアクシデントにより、そうしたスクリプトを含むRPAスクリプトデータの実行がエラー終了することがある。本実施形態は、RPAスクリプトデータの実行がエラー終了した場合のエラーハンドリングに関する。具体的にいうと本実施形態では、RPAスクリプトデータの1つの手順を指示するまでのウエイト時間を長くすることで、エラー解消を図る。
図11は、第2実施形態にかかるRPAツール2500の処理手順を示すフローチャートである。本フローチャートは、図10のフローチャートをベースにしていてステップS309と、ステップ310との間に、判定ステップであるステップS401が挿入され、ステップS401がYesになったとき実行すべき処理として、ステップS402~S407が追加されている点が、図10と異なる。
ステップS401は、ステップS309において、RPAスクリプトデータのi番目の手順をなすスクリプトを実行して端末装置2000から画像処理装置1000に操作を指示した後、画像処理装置が処理を行わず、停止したままになっているかどうかを判定する。画像処理装置の動作が停止していない場合はステップS309~S311、ステップS401のループを繰り返す。
画像処理装置1000が停止した場合(ステップS401でYes)、停止した際の画像処理装置の画面の遷移状態と、RPAスクリプトデータとから、エラー箇所を検出し(ステップS402)、エラー箇所を管理者に通知する(ステップS403)。以降、端末装置を再作成モードとし(ステップS404)、操作タイミングを追加する画面(操作タイミング指定画面)を表示して(ステップS405)、操作タイミングの入力を受け付ける(ステップS406)。
図12に、操作タイミング指定画面の一例を示す。本図の操作タイミング指定画面は、実行対象となったRPAスクリプトデータの表示6100と、当該RPAスクリプトデータにおけるエラー箇所の表示6200と、ウェイト時間表示欄6310とを含む。ウェイト時間表示欄には、そのエラー箇所において、設定されているウェイト時間が明示される。+キー6320、-キー6330は、当該ウェイト時間を増減する操作を受け付ける。つまり、+キー6320の押下により、ウエイト時間は増加し、-キー6330の押下により、ウエイト時間は減少する。これらのキーの押下を繰り返すことで、適正なウエイト時間を適正な値に調整することができる。
OKボタン6410は、ウェイト時間表示欄に表示されたウェイト時間を確定する操作を受け付ける。Cancelボタン6420は、ウェイト時間表示欄に表示されたウェイト時間を元に戻す操作を受け付ける。
図12の操作タイミング指定画面を用いて、ウェイト時間が特定されれば、ステップS406がYesになり、ステップS407において、エラー停止箇所の直前に、操作タイミングを指定する動作スクリプトを挿入する。図12の操作タイミング指定画面のエラー箇所欄において、動作スクリプトClick(E_BTNx、E_BTNy)の実行時に、画像処理装置の動作が停止したとすると、図13に示すように、図12の操作タイミング指定画面において指定されたウエイト時間だけ、Click(E_BTNx、E_BTNy)の実行を遅らせる動作スクリプトSleep(yyy)を挿入する。
こうした動作スクリプトの挿入により、RPAスクリプトデータの再作成と格納とが完了して本フローチャートの処理を終える。
以上のように本実施形態によれば、RPAスクリプトデータを実行した後、画像処理装置1000の処理が停止したかどうかを判定し、停止した場合、エラー箇所になった動作スクリプトを特定して、当該ウェイト時間だけ、画像処理装置の動作停止の原因となった動作スクリプトの実行を遅らせるようRPAスクリプトデータを再作成するから、実行を繰り返す度に、RPAスクリプトデータの品位を高めてゆくことができる。
[7]変形例
以上、本発明を実施の形態に基づいて説明してきたが本発明は上述の実施の形態に限定されないのは勿論であり以下の変形例が考えられる。
(1)端末装置2000には、ディスプレイの交換が可能なタイプ、ディスプレイの解像度の変更が可能なタイプがあり、こうしたタイプの端末装置は、RPAスクリプトデータを作成した時点と、RPAスクリプトデータを実行する時点とで、ディスプレイの解像度が異なることがある。この場合、RPAスクリプトデータ作成時におけるLCD2001の画面解像度の横画素数M_SCNwidth、縦画素数M_SCNheight、RPAスクリプトデータ実行時におけるLCD2001の画面解像度の横画素数E_SCNwidth、縦画素数E_SCNheightを用いて以下の数2の式によりウィンドウ内座標E_BTNx、E_BTNyを算出してもよい。
(2)リモートパネルアプリ2400を介してではなく、RPAツール2500がタッチパネルディスプレイ1001における座標を算出して、MFP1000に実行すべき操作を指示してもよい。RPAスクリプトデータの作成時と、実行時とで、LCD2001の解像度が変化しない場合、タッチパネルディスプレイ1001の解像度を構成する横画素数MFPwidth、縦画素数MFPheightを用いて数3の計算を実行することで、RPAツール2500がタッチパネルディスプレイ1001内の操作位置のX座標MFPx、Y座標MFPyを求めてもよい。
(3)RPAスクリプトデータの作成時と、実行時とで、LCD2001の解像度が変化する場合、以下の数4の計算を実行することで、タッチパネルディスプレイ1001内の操作位置のX座標MFPx、Y座標MFPyを求める。
(4)RPA作成モードにおいてRPAツール2500が作成したRPAスクリプト列を含むスクリプトファイルを端末装置2000のHDD2005に書き込み、格納するとしたがこれに限られない。RPA作成モードにおいてRPAツール2500が作成したRPAスクリプト列を含むスクリプトファイルを画像処理装置1000に送信して、画像処理装置1000において格納してもよい。RPA実行モードにおいては、画像処理装置1000の内蔵ストレージに格納されたファイルのうち、スクリプトファイル特有の拡張子が付されたものを読み出し、端末装置2000のLCD2001において一覧表示に供する。そして、一覧表示されたRPAスクリプト列のうち、ユーザーにより選択されたものを実行してもよい。
また、RPA作成モードにおいてRPAツール2500が作成したRPAスクリプト列を含むスクリプトファイルを外部ネットワークにおけるサーバー装置のストレージに書き込み、格納するとしてもよい。
(5)上記の実施形態では、端末装置2000上でRPAツール2500を起動して、RPAツール2500にRPAスクリプトデータを実行させるとしたがこれに限られない。RPAスクリプトデータを作成・実行するRPAツール2500のプログラムファイルを画像処理装置1000にインストールして、端末装置2000からの指示で、RPAスクリプトデータの作成及び実行を、画像処理装置1000上で行わせてもよい。
本変形例の画像処理装置1000は、サーバ機能、ブラウザ機能を具備しており、ブラウザの画面により、ユーザーからの操作を受け付ける。本変形例において、端末装置2000のブラウザがRPAスクリプトデータ作成要求を画像処理装置1000のRPAツール2500に発して、RPAツール2500を起動し、上記実施形態に示した、ウィンドウの左上X座標を変数に保存するスクリプト、左上Y座標を変数に保存するスクリプト、ウィンドウの横画素数を変数に保存するスクリプト、縦画素数を変数に保存するスクリプト、ウィンドウ内のタッチ座標を変数に保存するスクリプトを生成して、これらのスクリプトを含むRPAスクリプトデータを画像処理装置1000のHDD1005に保存する。
RPAスクリプトデータの実行が端末装置2000のブラウザから要求されれば、HDD1005に保存されたRPAスクリプトデータの一覧表示を行い、実行すべきRPAスクリプトデータの選択を受け付ける。実行すべきRPAスクリプトデータが選択されれば、選択されたRPAスクリプトデータを実行する。
(6)操作画面が配されたウィンドウの横画素数、縦画素数を算出する動作スクリプトをRPAスクリプトデータに含ませるとしたがこれに限られない。RPAツールがRPAスクリプトデータを実行するにあたり、操作画面が配されたウィンドウの横画素数、縦画素数を算出するよう構成してもよい。
(7)表示サイズを、ウィンドウの横画素数と、縦画素数とで表したがこれに限られない。RPAスクリプトデータを作成した際、リモートパネルの配したウィンドウのスケーリング率で表現してもよい。デスクトップ画面4002と同じ比率であれば、スケーリング率を100%で表す。デスクトップ画面の1/n(nは2以上の整数)であれば、1/nで表す。画像処理装置の解像度は、横画素数、縦画素数の組で表したがこれに限られない。1インチ当たりのドット数(dpi)であらわしてもよい。
(8)第2実施形態では、RPAスクリプトデータの実行により画像処理装置が停止した場合、エラー箇所を管理者に通知して、RPAスクリプトデータの再作成を行わせたがこれに限られない。ウェイト時間の自動的な挿入により、RPAスクリプトデータの再作成を実行してもよい。
図14は、第2実施形態の変形例にかかるRPAツール2500の処理手順を示すフローチャートである。本図は、図10をベースにしていて、ステップS309と、ステップS310との間にステップS401、ステップS412~S415、ステップS421~S423が挿入され、ステップS424、S425がステップS310の次に追加されている点が、第2実施形態と異なる。
変数hは、エラー発生回数をカウントするカウンター変数であり、初期値として0が設定される。変数eは、エラーが発生した手順を示す変数であり、エラーが発生した際の変数iがコピーされる。
ステップS412は、画像処理装置が停止し、ステップS401がYesと判定された際、実行される判定ステップであり、変数hが0かどうかを判定する。i番目の手順でエラーが発生したのが初めてであり、h=0であれば(ステップS412でYes)、エラー発生箇所を示す変数eに、現在の手順を示す変数iを設定する(ステップS413)。以降、変数hをインクリメントする(ステップS414)。
続いて、ステップS415において、所定の単位時間が経過するのを待つ(ステップS415でNo)。経過すれば(ステップS415でYes)、再度ステップS309に移行し、i番目の手順をなすスクリプトを発行する。以下、エラー発生が継続する限り、単位時間のウエイトと、i番目の手順の指示とを繰り返す。一回、指示を発行する度に、変数hをインクリメントする。ステップS401がNoになる。単位時間のウエイトと、i番目の手順の指示とを繰り返すことでエラーが解消すると、ステップS421において、変数e、hが0かどうかを判定する。
変数h、eが0であれば、ステップS422、S423をスキップして、ステップS310に移行する。0であれば、変数e、hをエラー履歴として残した後(ステップS422)、変数h、eを0に設定し(ステップS423)、ステップS310に移行する。以下第1実施形態と同様、変数iが素数mになるまで、ステップS309~S311、ステップS421~S423を繰り返す
その後、ステップS310がNoになり、RPAスクリプトデータにより規定された全てのスクリプトが実行されれば、ステップS424において、RPAスクリプトデータのこれまでの実行過程で、エラーが発生したかどうかを判定する。エラーが発生すれば(ステップS424でYes)、i番目の手順をなすスクリプトの前に、単位時間×hだけ、ウエイトを行う旨のスクリプトを追加する(ステップS425)。
(9)上記の変形例では、エラーが発生した際、そのエラーの発生回数に応じてウエイトを増やすことでエラーの解消を図った。これに対し本変形例では、画像処理装置1000に対して座標指示をなした後、画像処理装置1000に対する手順指示でエラーが発生した場合に、ウィンドウ内X座標、ウィンドウ内Y座標をインクリメントすることで、エラー解消を図る。
図15は、変形例にかかるRPAツール2500の処理手順を示すフローチャートである。図14と比較すると、図15はステップS415がステップS435に置き換えられ、ステップS425がステップS445に置き換えられている点が異なる。
具体的には、RPAスクリプトデータのi番目の手順で、画像処理装置が停止したと判定された場合(ステップS401でYes)、変数hをインクリメントした後(ステップS414)、i番目の手順をなすスクリプトにおいて、変数M_BTNx、M_BTNyに設定すべき、ウィンドウ内X座標、Y座標を変数hに応じたルール(h)で補正して(ステップS435)、ステップS309に戻る。ルール(h)は、変数hに応じてウィンドウ内X座標、ウィンドウ内Y座標を増やしてゆくルールである。具体的にいうと、変数hが奇数であれば、その奇数の値でウィンドウ内X座標を増やす。変数hが偶数であれば、その偶数の値でウィンドウ内Y座標を増やす。よって、変数hが大きくなるにつれ、ウィンドウ内X座標は右方向に、ウィンドウ内Y座標は下方向に向けて増えてゆく。
エラーが一回発生する度に変数hに応じて変数M_BTNx、M_BTNyに設定すべき、ウィンドウ内X座標、Y座標が変化してステップS309に戻る。こうした処理が繰り返されることで、M_BTNx、M_BTNyに設定すべき、ウィンドウ内X座標、Y座標が増えてゆく。こうして、ウィンドウ内X座標、ウィンドウ内Y座標が増えれば、リモートパネルにおいて、GUI部材がある位置を正しく押下できる確率が高まってゆく。
ステップS309、S401、ステップS412~S414、ステップS435の繰り返しにより、手順iのスクリプトを実行した結果、エラー発生しなくなれば(ステップS401でNo)、ステップS421に移行する。ステップS421は、変数hが0、eが0かどうかの判定であり、これらの変数が0でなければ、変数eをエラー履歴に示した後(ステップS422)、変数h、eに0を設定する(ステップS423)。
また、ステップS401がNoになって、ステップSS309~S311、ステップS401、ステップS421~S423のループが抜けた後、これまでにエラーが発生したかどうかを判定する(ステップS424)。これまでにエラーが発生していれば(ステップS424でYes)、補正されたウィンドウ座標系X座標、ウィンドウY座標に従いエラー履歴に示される手順のスクリプトを書き換えて(ステップS445)、メインフローにリターンする。
(10)スクリプトとしては、Python(登録商標)、VBScript(登録商標)、VB.NET(登録商標)、GAS(登録商標)、C#(登録商標)を利用することができる。
VBScript(登録商標)は、WinActorでも利用される言語である。
VB.NET(登録商品)は、UiPathで利用されているビジュアルベーシック言語であり、マイクロソフト社Office製品(登録商標)の操作に適する。
GAS(Google App Script:登録商標)はJavaScript(登録商標)をベースに開発されたプログラミング言語であり、Google(登録商標)マップやメール、スプレッドシートなどのサービスを連携したり操作することができる。
C#(登録商標)はマイクロソフト社が開発したプログラミング言語であり、Windows(登録商標)を操作するためのAPIを利用することができる。
これらに限らず、コンパイル、リンクなしに実行できる言語であれば、他のプログラミング言語を用いてもよい。
(11)メディアセンサーによる検出結果に従った用紙設定をRPAスクリプトデータで記述してRPAツール2500に実行させることで、給紙カセットに装填された用紙種を自動的に設定するようにしてもよい。メディアセンサーは、光学センサー、赤外線センサー、超音波センサーにより緑色(G)光の反射率、近赤外光(Ir)の透過率、青色光(B)の透過率、超音波の透過率を測定して、これらの反射率、透過率から、印刷に用いられるシートの種別が、再生紙、コート紙、封筒の何れであるかを判定する。
メディアセンサーによる検出時には、こうして検出された紙種を示す文字列が、画面に表示されるので、検出された文字列を対応する給紙カセットの用紙種別に設定する。こうすることで、人手を介さずとも、メディアセンサーによつ検出結果を給紙カセットの用紙種別に反映させることができる。メディアセンサーの検出結果が表示される場所のウィンドウ内座標、及び、ウィンドウ左上座標を変数に設定するスクリプト、給紙カセットの用紙種を設定する場所ウィンドウ内座標、及び、ウィンドウ左上座標を変数に設定するスクリプトをRPAスクリプトデータに生成して、そうしたRPAスクリプトデータにより、装置設定を行ってもよい。
また、画像処理装置を管理するサーバーに、そうした検出結果を、画像処理装置の用紙情報として登録してもよい。
(12)端末装置2000において、ユーザーの操作を受け付けるポインティングデバイスとしては、マウス、キーボードしたがこれに限られない。キーパッド、スタイラスであってもよい。端末装置2000は、ラップトップパソコンとして記載したがこれに限られない。端末装置は、マウス、キーパッド等で操作するデスクトップパソコン、スマートフォン、タブレット端末、レジ機端末の何れであってもよい
(13)尚、画像処理装置として画像形成装置であるMFP、SFP、AIOの例を説明したがこれに限られない。単機能のスキャナーや、ファクシミリ装置としてもよい。プロダクションプリント装置に設けてもよいし、その他、ラベル印刷機、はがき印刷機、発券機に設ける構成としてもよい。また単機能のコピー機、パーソナルコンピュータの単機能の周辺機器(プリンター)に設ける構成としてもよい。
本発明は、画像処理装置を事業所に導入する際の装置設定や画像処理装置にジョブを実行する際のパネル設定を、端末装置においてRPAを用いて自動化することができるので、OA機器、情報機器の産業分野を始め、小売業、賃貸業、不動産業、広告業、運輸業、出版業等、様々な業種の産業分野で利用される可能性がある。
1000、1010、1020 画像処理装置
1001、1011、1021 タッチパネルディスプレイ
1300 アプリケーション
1400 MFPパネルアプリ
1500 処理実行アプリ
2000 端末装置
2200 OS
2210 カーネル
2220 マルチウィンドウシステム
2300、1300 アプリケーション
2400 リモートパネルアプリ
2500 RPAツール
2600 RPAスクリプトデータ

Claims (17)

  1. 画像処理装置用の操作画面を自端末に表示してRPAによる操作を受け付ける端末装置において、操作を行うためのRPAスクリプトデータを作成する作成方法であって、
    操作画面に表示されていて操作者によって選択された操作対象の位置を検出する第1ステップと、
    前記検出された操作対象の位置を、操作画面のサイズに基づき正規化して、正規化された位置を示す位置情報を生成し、当該位置情報をRPAスクリプトデータに記載する第2ステップとを有する
    ことを特徴とするRPAスクリプトデータの作成方法。
  2. 前記端末装置は、前記操作画面をウィンドウ表示し、
    前記第2ステップによる操作対象の位置の正規化は、前記操作画面をウィンドウ表示した際の表示サイズと、操作すべき操作対象の位置のウィンドウ内座標とを用いてなされる
    ことを特徴とする請求項1に記載のRPAスクリプトデータの作成方法。
  3. 前記第2ステップは、
    前記ウィンドウ表示のサイズを取得するスクリプト、
    取得したウィンドウ表示のサイズと、位置情報に示される正規化された操作対象の位置とを用いて、前記操作対象の位置を示すウィンドウ内座標を算出する算出スクリプトを生成し、RPAスクリプトデータに記載する
    ことを特徴とする請求項2に記載のRPAスクリプトデータの作成方法。
  4. 前記RPAスクリプトデータは、操作すべき操作対象の位置が検出された際の、端末装置の画面解像度を示す解像度情報を有し、
    前記第2ステップにより生成される算出スクリプトは、前記ウィンドウ内座標の算出に、前記RPAスクリプトデータの解像度情報に示される画面解像度と、RPAスクリプトデータを実行する際の端末装置の画面解像度との比率を用いる
    ことを特徴とする請求項3に記載のRPAスクリプトデータの作成方法。
  5. 前記第2ステップは、
    前記画像処理装置の画面解像度と、位置情報に示される操作対象の正規化された位置とを用いて、画像処理装置の操作画面内座標を算出する算出スクリプトを生成して、RPAスクリプトデータに記載する
    ことを特徴とする請求項1に記載のRPAスクリプトデータの作成方法。
  6. 画像処理装置用の操作画面を自端末に表示してRPAによる操作を受け付ける端末装置において、RPAスクリプトデータを実行してRPAによる操作を行うRPAスクリプトデータの実行方法であって、
    操作画面のサイズを用いて正規化された位置情報に基づきRPAによる操作の対象となる位置の座標を算出する第1ステップと、
    算出された座標において、RPAによる操作を実行して、対応する処理を行うよう画像処理装置に指示する第2ステップとを含む
    ことを特徴とするRPAスクリプトデータの実行方法。
  7. 前記端末装置は、画像処理装置の操作画面をウィンドウ表示し、
    前記第1ステップによる座標の算出は、
    前記ウィンドウ表示のサイズを取得して、取得したサイズと、位置情報に示される正規化された操作対象の位置とを用いて、ウィンドウ内座標を算出することでなされる
    ことを特徴とする請求項6に記載のRPAスクリプトデータの実行方法。
  8. 前記RPAスクリプトデータは、操作すべき操作対象の位置が検出された際の、端末装置の画面解像度を示す解像度情報を有し、
    前記第2ステップは、前記操作すべき操作対象の位置のウィンドウ内座標の算出に、前記RPAスクリプトデータの解像度情報に示される画面解像度と、RPAスクリプトデータを実行する際の端末装置の画面解像度との比率を用いる
    ことを特徴とする請求項7に記載のRPAスクリプトデータの実行方法。
  9. 前記第2ステップによる座標の算出は、
    前記画像処理装置の画面解像度と、前記位置情報に示される操作対象の正規化された位置とを用いて、画像処理装置の画面内座標を算出することでなされる
    請求項6に記載のRPAスクリプトデータの実行方法。
  10. 前記第1ステップによる前記座標の算出は、前記端末装置及び前記画像処理装置のどちらかによってなされる
    ことを特徴とする請求項6~9の何れかに記載のRPAスクリプトデータの実行方法。
  11. 更に、接続可能な画像処理装置をユーザーに提示して、何れの画像処理装置に処理を行わせるかの選択を受け付ける第1サブステップ、
    画像処理装置が選択されれば、当該画像処理装置の画面解像度を取得する第2サブステップを含み、
    前記第1ステップによる前記座標の算出は、前記RPAスクリプトデータの位置情報と、取得した画像処理装置の画面解像度との比率を用いて、画像処理装置の画面内座標を算出することでなされる
    ことを特徴とする請求項6に記載のRPAスクリプトデータの実行方法。
  12. 前記RPAスクリプトデータは、複数の動作スクリプトにより構成され、
    RPAスクリプトデータに基づき画像処理装置に操作を指示するにあたり、画像処理装置の処理が停止したかどうかの判定を行う第3ステップ、
    画像処理装置による処理が停止した場合、前記何れかの動作スクリプトをエラー箇所として管理者に通知する第4ステップを有し、
    前記位置情報は、何れかの動作スクリプトに含まれる
    ことを特徴とする請求項6に記載のRPAスクリプトデータの実行方法。
  13. 前記第4ステップにおける通知後に、RPAスクリプトデータの再作成を実行する第5ステップを有し、
    前記第4ステップは、操作タイミングの指定を管理者から受け付けるサブステップを有し、
    エラー箇所として通知された動作スクリプトの前後には、指定された操作タイミングに従い、動作スクリプトの発行タイミングを調整するスクリプトが挿入される
    ことを特徴とする請求項12に記載のRPAスクリプトデータの実行方法。
  14. 画像形成装置の操作画面を表したビットマップを画像処理装置から受信する受信手段と、
    受信したビットマップをVRAMに書き込み、表示する表示手段と、
    RPAで実行すべき操作の登録の際、VRAMに書き込まれたビットマップのうち、操作対象とする位置の指定を操作者から受け付ける受付手段と、
    指定された位置を、表示されたビットマップのサイズに応じて正規化して示す位置情報を得て、位置情報を記載したRPAスクリプトデータを生成する生成手段と
    を備えることを特徴とする端末装置。
  15. 画像形成装置の操作画面を表したビットマップを端末装置に送信する送信手段と、
    RPAで操作を実行する際、正規化された位置情報を端末装置から受信する受信手段と、
    端末装置において表示されているビットマップのサイズと、正規化された位置情報とに基づきRPAの対象となる位置の座標を算出する算出手段とを備え、
    前記端末装置は、算出手段により算出された座標を用いてRPAによる操作を実行する
    ことを特徴とする画像処理装置。
  16. RPAを実行するコンピュータによりアクセスされるスクリプトデータのデータ構造であって、
    RPAで行うべき個々の手順に対応するフィールドを有し、
    前記何れかの1つのフィールドは、
    操作画面において操作者によって選択された操作対象の位置を、当該操作画面のサイズで正規化して示す位置情報と、
    前記操作対象の位置に対してRPAで行うべき操作の内容を示すスクリプトとを含む
    ことを特徴とするスクリプトデータのデータ構造。
  17. 画像処理装置用の操作画面を表示するコンピュータに、RPAによる操作を実行させるプログラムであって、
    操作画面のサイズを用いて正規化された位置情報に基づいて、前記表示された操作画面における、操作の対象となる座標を算出させる第1コードと、
    算出された座標において、RPAによる操作をコンピュータに行わせる第2コードとを含む
    ことを特徴とするプログラム。
JP2022089001A 2022-05-31 2022-05-31 Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム Pending JP2023176618A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022089001A JP2023176618A (ja) 2022-05-31 2022-05-31 Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム
US18/135,223 US11907740B2 (en) 2022-05-31 2023-04-17 Method for creating RPA script data, method for executing RPA script data, terminal device, image processing apparatus, RPA script data, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022089001A JP2023176618A (ja) 2022-05-31 2022-05-31 Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム

Publications (1)

Publication Number Publication Date
JP2023176618A true JP2023176618A (ja) 2023-12-13

Family

ID=88877291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022089001A Pending JP2023176618A (ja) 2022-05-31 2022-05-31 Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム

Country Status (2)

Country Link
US (1) US11907740B2 (ja)
JP (1) JP2023176618A (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6540059B2 (ja) 2015-02-03 2019-07-10 コニカミノルタ株式会社 リモートパネルシステム、リモート画面の表示方法及び画像処理装置
US10324457B2 (en) * 2017-05-11 2019-06-18 Global Eprocure Robotic process automation for supply chain management operations
CN108170611B (zh) * 2018-01-23 2019-07-16 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
US11150882B2 (en) * 2019-10-14 2021-10-19 UiPath Inc. Naming robotic process automation activities according to automatically detected target labels
US10885423B1 (en) * 2019-10-14 2021-01-05 UiPath Inc. Systems and methods of activity target selection for robotic process automation
US20230236712A1 (en) * 2022-01-24 2023-07-27 UiPath Inc. Browser-Based Robotic Process Automation (RPA) Robot Design Interface
US20230289389A1 (en) * 2022-03-10 2023-09-14 Ricoh Company, Ltd. Browser based robotic process automation
US11736556B1 (en) * 2022-03-31 2023-08-22 UiPath Inc. Systems and methods for using a browser to carry out robotic process automation (RPA)

Also Published As

Publication number Publication date
US11907740B2 (en) 2024-02-20
US20230385081A1 (en) 2023-11-30

Similar Documents

Publication Publication Date Title
JP5402650B2 (ja) 表示制御装置、情報処理システム、及び表示制御方法
JP4605675B2 (ja) 表示システム、表示方法、プログラム、及び記録媒体
JP4657149B2 (ja) 画像形成装置用ユーザアプリケーション開発支援装置
JP4894875B2 (ja) 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
JP2009282984A (ja) ドキュメント処理装置に関連する表示コンポーネントに広告コンテンツを表示するシステムおよび方法
US10848629B2 (en) Image processing apparatus, image processing system, image processing method, and web browser program
US8482776B2 (en) Method and system for tracking the status of a remote rendering job
US20110279843A1 (en) Apparatus for Controlling Image Formation, Computer Readable Device Having Stored Thereon Computer-Executable Instructions for Forming Images, and Method of Generating Image Formation Setting Information
US7958452B2 (en) System and method for thin client development of a platform independent graphical user interface
US20100110478A1 (en) Document printing by setting time and location based on facility/building map
US10469674B1 (en) Image forming apparatus, image forming system, and communication processing method with drawing mode drawing in self-apparatus at time of remote maintenance connection
JP5821930B2 (ja) 表示制御装置、表示制御方法、及び表示制御プログラム
JP2023176618A (ja) Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム
US20080278517A1 (en) System and method for manipulation of document data intercepted through port redirection
US20140082477A1 (en) Compound machine and system
US10511729B1 (en) Image forming apparatus, image forming system, and communication processing method implemented guidance mode for remote maintenance
US10455100B1 (en) Image forming system, image forming apparatus, and communication processing method that reflects drawing in support terminal to checking terminal at time of remote maintenance connection
US20100180204A1 (en) System and method for import and export of color customization of a document processing device
US20230141058A1 (en) Display apparatus and method for controlling display apparatus
US20100306406A1 (en) System and method for accessing a remote desktop via a document processing device interface
US10440200B1 (en) Image forming apparatus, image forming system, and communication processing method that reflects drawing in terminal at time of remote maintenance connection
JP7052842B2 (ja) 情報処理装置およびプログラム
EP3840348A1 (en) Image processing apparatus and control method for image processing apparatus
US20220021774A1 (en) Information processing apparatus and non-transitory computer readable medium
US20210084180A1 (en) Image processing apparatus, method for controlling the same, and storage medium