(57)【特許請求の範囲】
【請求項１】
オートメーション方法であって、
グラフィカルユーザインターフェースに基づき、１以上の情報処理、および、前記１以上の情報処理に係る実行順を含むマクロを登録する、実装ステップを、
コンピュータのプロセッサに実行させ、
前記実装ステップは、前記グラフィカルユーザインターフェースに基づき、前記１以上の情報処理と、分岐処理および反復処理と、の対応付けを、行い、
前記情報処理は、表計算処理である、
オートメーション方法。
【請求項２】
前記分岐処理は、ユーザーが規定する条件による分岐処理である、
請求項１に記載のオートメーション方法。
【請求項３】
前記反復処理は、ユーザーが規定するオブジェクトでの反復処理である、
請求項１又は２に記載のオートメーション方法。
【請求項４】
オートメーション方法であって、
前記マクロの指定を転機として、前記実行順に基づき、前記１以上の情報処理の順次実行を行い、前記１以上の情報処理の少なくとも１つの指定を転機として、当該１以上の情報処理の少なくとも１つに係る個別実行を行う、実行ステップを、
コンピュータのプロセッサにさらに実行させる、
請求項１〜３の何れかに記載のオートメーション方法。
【請求項５】
前記マクロは、スプレッドシートに付随する
請求項１〜４の何れかに記載のオートメーション方法。
【請求項６】
前記実装ステップは、前記マクロを、揮発性を有するキャッシュ領域としての主記憶装置上に格納する
請求項１〜５の何れかに記載のオートメーション方法。
【請求項７】
前記実装ステップは、前記マクロを、不揮発性を有するデータ領域としての補助記憶装置上に格納する
請求項１〜６の何れかに記載のオートメーション方法。
【請求項８】
前記実行ステップは、前記マクロを、揮発性を有するキャッシュ領域としての主記憶装置上に格納する
請求項４に記載のオートメーション方法。
【請求項９】
前記実行ステップは、前記マクロを、不揮発性を有するデータ領域としての補助記憶装置上に格納する
請求項４に記載のオートメーション方法。
【請求項１０】
オートメーションシステムであって、
グラフィカルユーザインターフェースに基づき、１以上の情報処理、および、前記１以上の情報処理に係る実行順を含むマクロを登録する、実装手段を、有し、
前記実装手段は、前記グラフィカルユーザインターフェースに基づき、前記１以上の情報処理と、分岐処理および反復処理と、の対応付けを、行い、
前記情報処理は、表計算処理である、
オートメーションシステム。
【請求項１１】
オートメーションプログラムであって、
コンピュータを、
グラフィカルユーザインターフェースに基づき、１以上の情報処理、および、前記１以上の情報処理に係る実行順を含むマクロを登録する、実装手段として機能させ、
前記実装手段は、前記グラフィカルユーザインターフェースに基づき、前記１以上の情報処理と、分岐処理および反復処理と、の対応付けを、行い、
前記情報処理は、表計算処理である、
オートメーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オートメーション方法、オートメーションシステムおよびオートメーションプログラムに関する。
【背景技術】
【０００２】
従来の表計算ソフトウェアにおける、キャラクタユーザインターフェースに依存しないオートメーション手法として、マクロの記録が知られている。マクロの記録は、直感的なユーザエクスペリエンスを提供できるが、プログラミングの三要素である、順次実行、分岐処理および反復処理の内、分岐処理と反復処理を設定することが、困難である（非特許文献１）。【０００３】
特許文献１に記載の発明によると、ブラウザプロセス定義ファイル及び操作画面をファイルサーバに記憶するブラウザ操作記録エージェントと、表計算ソフトウェア操作の表計算プロセス定義ファイル及び表計算ファイルをファイルサーバに記憶する操作記録エージェントとを有するＰＣと、ブラウザプロセス定義ファイル等から作成した処理フローチャートの処理ステップ毎に、常に対象とするタグ又はセルが同一のときに操作対象を同一タグ又は同一セルとして指定する論理式と、条件によって対象とするタグ又はセルが異なるときに操作対象条件に応じたタグ又はセルとして指定する論理式とを登録するポップアップ画面を生成し、作業自動化ツールのインプットファイルを生成する管理サーバとを備えた作業自動化支援システムが、報告されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６０６３２３５号公報
【非特許文献】
【０００５】
【非特許文献１】大村あつし著、「Ｅｘｃｅｌ（登録商標）  ＶＢＡ  本格入門  〜日常業務の自動化からアプリケーション開発まで〜」、技術評論社、２０１５年６月２０日発行、第５６頁
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の発明では、グラフィカルユーザインターフェースのようなユーザにとって直感的な操作に基づき、操作記録の全てを行えない。例えば、ポップアップ画面におけるユーザ操作の対象は、自動化する操作内容の少なくとも一部に留まっている。ユーザにとって敷居の高い、プログラミングなどのキャラクタユーザインターフェースに基づくインプットを極限まで排すためには、オートメーション設定の大部分を、グラフィカルユーザインターフェースに基づき行える環境を、整える必要がある。【０００７】
本発明は、上記のような実情に鑑みてなされたものであり、より簡易的に、ソフトウェア操作におけるユーザエクスペリエンスを向上するオートメーション方法を実現することを、解決すべき課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、オートメーション方法であって、１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロを登録する、実装ステップを、コンピュータのプロセッサに実行させる。本発明によると、細分化された１以上のソフトウェア操作をマクロとして定義できる。【０００９】
本発明の好ましい形態では、オートメーション方法であって、マクロの指定を転機として、実行順に基づき、１以上の情報処理の順次実行を行い、１以上の情報処理の少なくとも１つの指定を転機として、当該１以上の情報処理の少なくとも１つに係る個別実行を行う、実行ステップを、コンピュータのプロセッサにさらに実行させる。本発明によると、マクロに含まれる細分化された１以上のソフトウェア操作を、個別に実行できる。【００１０】
本発明の好ましい形態では、実装ステップは、グラフィカルユーザインターフェースに基づく。本発明によると、細分化された１以上のソフトウェア操作の順次実行と個別実行との意思入力のそれぞれを、直感的なユーザインターフェースに基づき、実現できる。【００１１】
本発明の好ましい形態では、実装ステップは、１以上の情報処理と、分岐処理および／または反復処理と、の対応付けを、行う。本発明によると、グラフィカルユーザインターフェースのみに基づくマクロの記録において、従来、困難であった分岐処理ならびに反復処理を、同じくグラフィカルユーザインターフェース上で実現できる。【００１２】
本発明の好ましい形態では、情報処理は、表計算処理である。本発明によると、従来的に、マクロの記録によるオートメーションの意欲が高く行われている表計算ソフトウェア上で、より簡易的なオートメーション方法を、導入できる。また、本発明の好ましい形態では、前記マクロは、スプレッドシートに付随する。また、本発明の好ましい形態では、前記実装ステップは、前記マクロを、揮発性を有するキャッシュ領域としての主記憶装置上に格納する。また、本発明の好ましい形態では、前記実装ステップは、前記マクロを、不揮発性を有するデータ領域としての補助記憶装置上に格納する。また、本発明の好ましい形態では、前記実行ステップは、前記マクロを、揮発性を有するキャッシュ領域としての主記憶装置上に格納する。また、本発明の好ましい形態では、前記実行ステップは、前記マクロを、不揮発性を有するデータ領域としての補助記憶装置上に格納する。【００１３】
上記課題を解決するために、本発明は、オートメーションシステムであって、１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロを登録する、実装手段を、有する。【００１４】
上記課題を解決するために、本発明は、オートメーションプログラムであって、コンピュータを、１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロを登録する、実装手段として機能させる。
【発明の効果】
【００１５】
本発明によると、より簡易的に、ソフトウェア操作におけるユーザエクスペリエンスを向上するオートメーション方法を、提供できる。
【図面の簡単な説明】
【００１６】
【図１】実施形態１におけるハードウェア構成図である。
【図２】実施形態１における機能ブロック図である。
【図３】実施形態１における処理フローチャートである。
【図４】実施形態１におけるマクロの概要図である。
【図５】実施形態１における処理指定部の書式タブが指定された場合の実装画面の一例である。
【図６】実施形態１における条件指定部の条件有が指定された場合の実装画面の一例である。
【図７】実施形態１における処理指定部のコピー切取タブが指定された場合の実装画面の一例である。
【図８】実施形態１における処理指定部の入力タブが指定された場合の実装画面の一例である。
【図９】実施形態１における処理指定部のデータタブが指定された場合の実装画面の一例である。
【図１０】実施形態１における処理指定部の他タブが指定された場合の実装画面の一例である。
【図１１】実施形態１における順次実行画面および個別実行画面のそれぞれの一例である。
【図１２】実施形態２におけるハードウェア構成図である。
【図１３】実施形態２における機能ブロック図である。
【図１４】実施形態３における機能ブロック図である。
【図１５】実施形態４における機能ブロック図である。
【図１６】実施形態５における機能ブロック図である。
【図１７】実施形態６における機能ブロック図である。
【図１８】実施形態７における機能ブロック図である。
【図１９】実施形態８における機能ブロック図である。
【発明を実施するための形態】
【００１７】
＜実施形態１＞
以下、図面を用いて、本発明に係るシステムの実施形態１について説明する。本実施形態では、システムの構成、動作などについて説明するが、同様の構成の方法、サーバ１Ｂ、プログラムＰ０、記録媒体なども、同様の作用効果を奏する。また、プログラムＰ０は、記録媒体に記憶させてよい。当該記録媒体を用いれば、一例として、コンピュータ装置１に当該プログラムＰ０をインストールすることができる。ここで、当該プログラムＰ０を記憶した記録媒体は、一例として、ＣＤ−ＲＯＭやフラッシュメモリなどの非一過性の記録媒体である。また、電気回線を通じて当該プログラムＰ０が頒布される場合においても、当該プログラムＰ０の提供元／格納先として、記録媒体が必須となることは、自明である。また、当該プログラムＰ０は、ソースコードまたはバイナリを含み、適宜、暗号化される。
【００１８】
以下、図面を用いて、本発明の実施形態に係るシステムについて説明する。なお、以下に示す実施形態は本発明の一例であり、本発明を以下の実施形態に限定するものではなく、様々な構成を採用できる。また、本発明の実施形態に係るシステムの適用先である業態やサービスの種別は、システムが奏する作用効果が当該適用先に及ぶ、という条件の下、制限はない。
【００１９】
図１に示す通り、システムは、コンピュータ装置１を、含む。コンピュータ装置１は、演算装置１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、出力装置１５と、通信装置１６と、相互接続のためのバスインターフェースと、を含む。コンピュータ装置１は、ネットワークＮＷと接続できる。システムが有するハードウェア資源は、少なくとも、プログラムＰ０が有する機能を実現するために、用いられる。
【００２０】
演算装置１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を一例とする、プロセッサコアを、備える。
【００２１】
主記憶装置１２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を一例とする、揮発性デバイスを、備える。補助記憶装置１３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの、不揮発性デバイスを、備える。補助記憶装置１３は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、プログラムＰ０と、に係るデータのそれぞれが、格納される。補助記憶装置１３は、プライマリストレージおよび１以上のセカンダリストレージを、備えてよい。補助記憶装置１３は、データベースを、有する。
【００２２】
コンピュータ装置１は、当該プロセッサコアやＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などが集約されたＳｏＣ（ＳｙｓｔｅｍーｏｎーＣｈｉｐ）を、備えてよい。当該プロセッサコアを含むプロセッサは、プログラマブルデバイスであってよい。当該ＡＳＩＣは、例として、ハードウェアエンコーダ／デコーダなどのＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）やＭＬ（Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ）専用プロセッサを、指す。コンピュータ装置１は、揮発性を有するキャッシュ領域および不揮発性を有するデータ領域を有するメモリデバイスを、備えてよい。
【００２３】
入力装置１４は、システムに係るデータの入力処理のために用いられる。入力装置１４は、キーボード、タッチパネル、マイクロフォンおよびイメージセンサの少なくとも１つを含む。このとき、当該入力処理の方式に、制限はない。
【００２４】
出力装置１５は、システムの表示処理のために用いられる。出力装置１５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）を一例とするディスプレイデバイスやプロジェクションデバイスなどの視覚表示装置と、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を一例とする、グラフィックコントローラと、を含む。当該グラフィックコントローラは、ＳｏＣに含まれてよい。出力装置１５は、ヘッドマウントディスプレイを一例とする、身体の少なくとも一部に接触する装置であってよい。
【００２５】
通信装置１６は、ネットワークＮＷを介したデータ送受信を含む通信処理のために、用いられる。通信装置１６は、Ｗｉ−Ｆｉ（登録商標）などに基づく無線通信、および／または、Ｅｔｈｅｒｎｅｔ（登録商標）などに基づく有線通信に対応する。通信装置１６は、電波または光波を用いる電気通信を行うための送受信機を含み、その波長帯に制限はない。システムにおけるネットワークＮＷの通信プロトコルは、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などである。
【００２６】
ネットワークＮＷは、光回線やＣＡＴＶ（Ｃｏｍｍｕｎｉｔｙ  Ａｎｔｅｎｎａ  Ｔｅｌｅｖｉｓｉｏｎ）回線などの有線回線や、外出体通信網、航空通信網、衛星通信網などの無線回線を利用でき、回線に応じて、適宜、パケット交換機を含む。
【００２７】
コンピュータ装置１は、ラップトップコンピュータ、ワークステーション、スマートフォンおよびウェアラブルデバイスなどのデータ端末装置の態様をとる。１以上のコンピュータ装置１のそれぞれは、当該１以上のコンピュータ装置１のそれぞれが協調することで、当該１以上のコンピュータ装置１のいずれかに対するプログラムＰ０の導入を、実現してよい。
【００２８】
図２に示す通り、システムは、入力手段１０１、出力手段１０２、実装手段１０３および実行手段１０４を、有する。システムに係る機能は、スプレッドシートが有する機能と協調しながら、実現される。
【００２９】
入力手段１０１は、システムに係るデータの入力処理のために用いられる。入力手段１０１は、入力装置１４を介して、データの入力処理を、行う。当該データは、本発明の実施形態における１以上の情報処理ならびに当該１以上の情報処理の実行命令を、含む。入力手段１０１は、これに加えて、アプリケーションプログラミングインターフェースを介して、当該データの入力処理を、行ってよい。入力手段１０１による当該データの入力処理は、好ましくは、出力手段１０２による画面の表示処理と協調し、実現される。
【００３０】
出力手段１０２は、システムに係るデータの表示処理を、出力装置１５を用いて、行う。当該表示処理は、データの入力処理用のユーザインターフェースの提供（画面表示）を、含む。出力手段１０２は、これに加えて、アプリケーションプログラミングインターフェースを介して、当該表示処理を、行ってよい。出力手段１０２は、実装画面Ｗ１、順次実行画面Ｗ２および個別実行画面Ｗ３の表示処理のために、用いられる。実装画面Ｗ１、順次実行画面Ｗ２および個別実行画面Ｗ３のそれぞれの少なくとも一部は、スプレッドシートに係る画面に重ねて表示処理されてよい。実装画面Ｗ１、順次実行画面Ｗ２および個別実行画面Ｗ３のそれぞれの少なくとも一部は、プルダウン形式の入力フォームを介した入力処理を、受け付ける。出力手段１０２は、当該画面表示において、データの入力処理を円滑化することを目的として、画面表示における色指定を含む描画条件を、適宜、設定できる。当該描画条件の指定は、適宜、設定ファイルに保存される。
【００３１】
実装手段１０３は、１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロを登録する。当該情報処理は、一例として、表計算ソフトウェア上の操作処理を含む表計算処理を、指す。実装手段１０３は、グラフィカルユーザインターフェースに基づき、１以上の情報処理と、分岐処理および／または反復処理と、の対応付けを、行う。当該グラフィカルユーザインターフェースは、出力手段１０２による画面表示に基づく。実装手段１０３は、実装画面Ｗ１において、入力手段１０１により指定された情報に基づき、情報処理に係る決定を、行う。
【００３２】
実行手段１０４は、マクロの指定を転機として、実行順に基づき、１以上の情報処理の順次実行を行い、１以上の情報処理の少なくとも１つの指定を転機として、当該１以上の情報処理の少なくとも１つに係る個別実行を行う。実行手段１０４は、グラフィカルユーザインターフェースに基づき、当該順次実行または個別実行を、行う。当該グラフィカルユーザインターフェースは、出力手段１０２による画面表示に基づく。実行手段１０４は、順次実行画面Ｗ２または個別実行画面Ｗ３において、入力手段１０１により指定された情報に基づき、情報処理を実行する。実行手段１０４は、マクロを、揮発性を有するキャッシュ領域としての主記憶装置１２上に格納する構成であってよい。また、実行手段１０４は、マクロを、不揮発性を有するデータ領域としての補助記憶装置１３上に格納する構成であってよい。また、実行手段１０４は、出力手段１０２と協調してマクロに係る出力処理を行う構成であってよい。当該出力処理は、マクロ自体に係る出力処理や、マクロの実行結果に係る出力処理を含む。  
【００３３】
１以上の情報処理のそれぞれは、オブジェクト、メソッドおよびプロパティのそれぞれに係る情報と対応する。オブジェクトは、処理対象であり、一例としてセル範囲である。メソッドは、オブジェクトを操作する命令であり、一例として、セルの値のクリアである。プロパティは、一例として当該セル範囲における値である。
【００３４】
システムに係る機能は、例として、スプレッドシート上で実現される。スプレッドシートは、ブック、シートおよびセルの順序に従う、複数のデータ層に基づく。スプレッドシートは、格子状に配置されたセルのそれぞれ、シートおよびブックと、識別子と、が対応する。スプレッドシートは、一例として、Ｅｘｃｅｌ（登録商標）である。マクロまたはステップに係る情報ならびにスプレッドシート上のデータは、データベース上で格納／参照される。このとき、当該マクロまたはステップに係る情報は、異なるデータベース上で、格納／参照されてよい。本発明におけるスプレッドシートに付随するマクロを含むプログラムＰ０を記述するマクロ言語は、Ｅｘｃｅｌ（登録商標）のマクロ言語であるＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）  ｆｏｒ  Ａｐｐｌｉｃａｔｉｏｎｓ（ＶＢＡ）に限定されるものではなく、ＶＢＡ以外のマクロ言語でもよい。また、プログラムＰ０は、Ｃ＋＋（登録商標）やＰｙｔｈｏｎ（登録商標）などのプログラミング言語に基づき、記述されてよい。プログラムＰ０を記述するためのプログラミング言語に、制限はない。
【００３５】
図３に示す通り、システムの機能は、複数のステップからなる処理フローチャートに従って、実現される。ステップＳ１では、オートメーション設定が開始される。ステップＳ２では、出力手段１０２が、順次実行画面Ｗ２の表示処理を行う。ステップＳ３では、出力手段１０２が、実装画面Ｗ１の表示処理を行う。ステップＳ４では、実装手段１０３が、オブジェクト指定を行う。ステップＳ５では、実装手段１０３が、条件指定を行う。ステップＳ６では、実装手段１０３が、処理指定を行う。マクロ編集終了意思を入力する場合（ステップＳ７、Ｙ（Ｙｅｓ））、ステップＳ８に移行する。マクロ編集終了意思を入力しない場合（ステップＳ７、Ｎ（Ｎｏ））、ステップＳ３に移行する。ステップＳ８では、オートメーション設定が終了する。なお、図３における未処理とは、オブジェクト有無の判定などが実行されたか否かにより、判断される。
【００３６】
ステップＳ９では、順次実行に係る処理が開始される。ステップＳ１０では、出力手段１０２が、順次実行画面Ｗ２の表示処理を行う。ステップＳ１１では、入力手段１０１が、マクロの指定を行う。ステップＳ１２では、実行手段１０４が、実行順の読込処理を行う。未実行かつ実行順が最上位の情報処理が存在する場合（ステップＳ１３、Ｙ（Ｙｅｓ））、ステップＳ１４に移行する。未実行かつ実行順が最上位の情報処理が存在しない場合（ステップＳ１３、Ｎ（Ｎｏ））、ステップＳ２０に移行する。ステップＳ１４では、実行手段１０４が、未実行かつ実行順が最上位の情報処理の指定を行う。反復処理範囲における未処理オブジェクトが存在する場合（ステップＳ１５、Ｙ（Ｙｅｓ））、ステップＳ１６に移行する。反復処理範囲における未処理オブジェクトが存在しない場合（ステップＳ１５、Ｎ（Ｎｏ））、ステップＳ１９に移行する。ステップＳ１６では、実行手段１０４が、反復処理範囲における未処理オブジェクトの指定を行う。反復処理範囲における未処理オブジェクトのプロパティが、情報処理に含まれる分岐処理の条件と一致する場合（ステップＳ１７、Ｙ（Ｙｅｓ））、ステップＳ１８に移行する。反復処理範囲における未処理オブジェクトのプロパティが、情報処理に含まれる分岐処理の条件と一致しない場合（ステップＳ１７、Ｎ（Ｎｏ））、ステップＳ１５に移行する。ステップＳ１８では、実行手段１０４が、情報処理と対応するメソッドおよびプロパティの実行を行う。未実行かつ実行順が最上位の情報処理が存在する場合（ステップＳ１９、Ｙ（Ｙｅｓ））、ステップＳ１４に移行する。未実行かつ実行順が最上位の情報処理が存在しない場合（ステップＳ１９、Ｎ（Ｎｏ））、ステップＳ２０に移行する。ステップＳ２０では、順次実行に係る処理が終了する。
【００３７】
ステップＳ２１では、個別実行に係る処理が開始される。ステップＳ２２では、出力手段１０２が、個別実行画面Ｗ３の表示処理を行う。ステップＳ２３では、入力手段１０１が、ステップ（情報処理）の指定を行う。反復処理範囲における未処理オブジェクトが存在する場合（ステップＳ２４、Ｙ（Ｙｅｓ））、ステップＳ２５に移行する。反復処理範囲における未処理オブジェクトが存在しない場合（ステップＳ２４、Ｎ（Ｎｏ））、ステップＳ２９に移行する。ステップＳ２５では、実行手段１０４が、反復処理範囲における未処理オブジェクトの指定を行う。反復処理範囲における未処理オブジェクトのプロパティが、情報処理に含まれる分岐処理の条件と一致する場合（ステップＳ２６、Ｙ（Ｙｅｓ））、ステップＳ２７に移行する。反復処理範囲における未処理オブジェクトのプロパティが、情報処理に含まれる分岐処理の条件と一致しない場合（ステップＳ２６、Ｎ（Ｎｏ））、ステップＳ２４に移行する。ステップＳ２７では、実行手段１０４が、情報処理と対応するメソッドおよびプロパティの実行を行う。反復処理範囲における未処理オブジェクトが存在する場合（ステップＳ２８、Ｙ（Ｙｅｓ））、ステップＳ２５に移行する。反復処理範囲における未処理オブジェクトが存在しない場合（ステップＳ２８、Ｎ（Ｎｏ））、ステップＳ２９に移行する。ステップＳ２９では、個別実行に係る処理が終了する。
【００３８】
図４に示す通り、マクロに含まれる１以上のステップのそれぞれは、少なくとも、マクロ識別子、シート識別子、オブジェクト、メソッド、プロパティおよび条件と、対応する。当該マクロは、当該１以上のステップの実行順に係る情報を、含む。当該マクロ識別子は、一例として、プログラムＰ０名の態様をとる。当該シート識別子は、一例として、シート名の態様をとる。当該条件は、図４における条件値と対応する。ステップは、情報処理と同義である。
【００３９】
図５に示す通り、実装画面Ｗ１は、オブジェクト指定部Ｗ１Ａ、条件指定部Ｗ１Ｂおよび処理指定部Ｗ１Ｃを、有する。オブジェクト指定部Ｗ１Ａは、マクロまたはステップと対応するオブジェクトの指定のために、用いられる。条件指定部Ｗ１Ｂは、マクロまたはステップと対応する条件の指定のために、用いられる。処理指定部Ｗ１Ｃは、マクロまたはステップと対応する情報処理の指定のために、用いられる。当該処理指定部Ｗ１Ｃは、タブ形式の態様をとる。出力手段１０２は、処理指定部Ｗ１Ｃにおけるタブの指定を転機として、当該タブと対応する画面モードの表示処理を、行う。当該タブは、書式タブ、コピー切取タブ、入力タブおよびデータタブのいずれかを、含む。処理指定部Ｗ１Ｃは、情報処理におけるメソッドおよびプロパティの指定のために、用いられる。
【００４０】
図５に示す通り、オブジェクト指定部Ｗ１Ａにおいて、入力手段１０１は、セル範囲または当該セル範囲が含まれる拡大されたセル範囲を、マクロまたはステップにおけるオブジェクトとして指定できる。このとき、当該拡大されたセル範囲は、当該セル範囲と行方向および／または列方向において不連続であるセル群を、含む。オブジェクト指定部Ｗ１Ａにおいて、入力手段１０１は、当該拡大されたセル範囲における一部のセル範囲を、当該オブジェクトとして指定できる。具体的には、オブジェクト指定部Ｗ１Ａにおいて、入力手段１０１は、当該拡大されたセル範囲における最終行または最終列のセル範囲を、当該オブジェクトとして指定できる。オブジェクト指定部Ｗ１Ａにおいて、入力手段１０１は、当該拡大されたセル範囲における特定の値を有する１以上のセルを、当該オブジェクトとして指定できる。オブジェクト指定部Ｗ１Ａは、入力手段１０１によりマクロ編集終了意思を入力するためのマクロ編集終了意思入力部を、有する。
【００４１】
図５に示す通り、書式タブが指定された処理指定部Ｗ１Ｃでは、入力手段１０１は、フォント、数値およびテキスト配置に係る指定が、できる。当該フォントに係る設定は、太字、塗りつぶし、罫線、色指定およびサイズの少なくとも１つの設定を、含む。当該数値に係る設定は、パーセンテージ表示の切替、カンマ表示の切替および小数点以下表示の切替の少なくとも１つの設定を、含む。当該テキスト配置に係る設定は、揃え、折返し、セル結合の少なくとも１つの設定を、含む。
【００４２】
図６に示す通り、条件指定部Ｗ１Ｂにおいて条件有が指定された場合、出力手段１０２は、当該条件指定部Ｗ１Ｂの画面モードを切り替える。入力手段１０１は、マクロまたはステップと対応する条件を構成する情報の指定が、できる。当該条件は、一例として、条件と対応する対象であるセルと、当該セルと隣接するセルとに基づく、論理演算の結果からなる。当該論理演算は、当該セルと隣接しないセルが有する値に基づいてよい。実装手段１０３は、好ましくは、当該条件の真偽値に基づき、移行先のステップを、指定できる。
【００４３】
図７に示す通り、コピー切取タブが指定された処理指定部Ｗ１Ｃにおいて、入力手段１０１は、マクロまたはステップと対応するセルが有する値に基づくセル操作を、指定できる。当該セル操作は、好ましくは、当該値のコピーと貼り付けである。当該貼り付けの対象となる当該セルとは別のセルに係る指定は、当該処理指定部Ｗ１Ｃにおいて、入力手段１０１により実現される。
【００４４】
図８に示す通り、入力タブが指定された処理指定部Ｗ１Ｃにおいて、入力手段１０１は、マクロまたはステップにおける対象であるセルに対し入力される値を、指定できる。当該値は、数値または文字列である。当該処理指定部Ｗ１Ｃは、当該値を入力するための入力フォームと、当該入力フォームにおいて表示処理される当該値を確定するための入力値確定意思入力部、当該入力フォームにおいて表示処理される当該値を削除するための入力値取消意思入力部、および、当該オブジェクトであるセルと隣接するセルに含まれる値を当該値と入力するための入力値参照意思入力部の少なくとも１つを、含む。
【００４５】
図９に示す通り、データタブが指定された処理指定部Ｗ１Ｃにおいて、入力手段１０１は、対象であるセル範囲に基づく、ソート処理、フィルタリング処理、グラフ描画処理およびピボットテーブル設定処理の少なくとも１つに係る指定が、できる。当該ソート処理は、当該セル範囲における並べ替えを、指す。当該フィルタリング処理は、任意の論理式に基づく、セルの表示／非表示の切替を指す。当該任意の論理式は、条件指定部Ｗ１Ｂにおける条件であってよいし、別途、異なる条件に係る入力処理を受け付けてもよい。当該処理指定部Ｗ１Ｃは、フィルタリング処理を解除するためのフィルタリング解除意思入力部と、フィルタリング結果に係る表示処理の抑止または当該フィルタリング結果を示すセルの削除を行うためのフィルタリング結果削除意思入力部とを、有する。当該ピボットテーブル処理は、当該セル範囲に基づくピボットテーブルの決定を、含む。
【００４６】
図１０に示す通り、他タブが指定された処理指定部Ｗ１Ｃは、シートの追加およびシート識別子の変更のそれぞれを行うための、シート情報変更意思入力部、または、スプレッドシートにおける行列の表示／非表示の切替や行列のサイズ変更を含む行列情報の変更を行うための行列情報変更意思入力部を、有する。
【００４７】
図１１に示す通り、順次実行画面Ｗ２は、順次実行の意思入力を行うための順次実行意思入力部を、有する。順次実行画面Ｗ２は、順次実行画面Ｗ２、個別実行画面Ｗ３ならびに実装画面Ｗ１の画面寸法を変更するための、画面寸法変更意思入力部を、有する。順次実行画面Ｗ２は、個別実行画面Ｗ３に移行するための、個別実行画面Ｗ３表示意思入力部を、有する。順次実行画面Ｗ２は、図４に示すようなマクロに含まれる各ステップをスプレッドシート上において表示処理するためのマクロ詳細表示意思入力部を、有する。マクロ詳細表示意思入力部が指定された場合、出力手段１０２は、図４に示すようなマクロに含まれる情報処理のそれぞれに係る情報を、スプレッドシート画面上で表示処理する。順次実行画面Ｗ２は、実装画面Ｗ１に移行するための実装画面Ｗ１表示意思入力部を、有する。順次実行画面Ｗ２において、プログラムＰ０識別子が指定された状態で、順実行意思入力部が指定されることで、実行手段１０４は、当該プログラムＰ０識別子に対応するマクロに含まれる１以上のステップの順次実行を、行う。このとき、当該プログラムＰ０識別子が指定された状態で、個別実行画面Ｗ３表示意思入力部が指定された場合、入力手段１０１は、当該プログラムＰ０識別子と対応するマクロに含まれる１以上のステップのいずれかを指定できる。
【００４８】
図１２に示す通り、個別実行画面Ｗ３は、順次実行画面Ｗ２において指定されたプログラムＰ０識別子と対応するマクロに含まれるステップのいずれかを指定するための、ステップ指定部を、有する。個別実行画面Ｗ３は、個別実行の意思入力を行うための個別実行意思入力部を、有する。当該ステップが指定された状態で、当該個別実行意思入力が指定された場合、実行手段１０４は、当該ステップと対応する情報処理を、実行する。このとき、当該マクロに含まれる２以上のステップが指定された状態で、個別実行が行われてよい。
【００４９】
出力手段１０２による実装画面Ｗ１、順次実行画面Ｗ２ならびに個別実行画面Ｗ３の表示処理と、入力手段１０１による指定と、は、パーセプチュアルユーザインターフェースに基づき、行われてよい。具体的には、イメージセンサを備えるコンピュータ装置１に基づき、ハンドジェスチャーによるユーザ操作と、当該指定とを対応付ける。また、コンピュータ装置１と相互通信するヘッドマウントディスプレイや、コンピュータ装置１により描画処理される疑似ホログラムなどに基づく、立体空間における表示処理を、出力手段１０２が行ってよい。
【００５０】
本実施形態におけるシステムに係る機能は、メール／メッセージの送受信による処理を、含む。当該送受信はアプリケーションプログラミングインターフェースにより、実現される。当該処理は、順次実行または個別実行の結果に係る情報の通知処理を、含む。当該処理は、実装手段１０３による１以上の情報処理の設定のための入力処理を、含む。これらに限らず、システムに係る機能の少なくとも一部は、当該メール／メッセージの送受信により、実現される。また、当該機能は、アプリケーションプログラミングインターフェースによる、ウェブブラウザ画面への入出力を、含む。
【００５１】
＜実施形態２＞
以下、本発明に係るシステムの実施形態２について説明する。なお、実施形態１と同様の構成については、同様の符号を付してその説明を省略する。
【００５２】
図１２および図１３が示す通り、実施形態２におけるシステムは、２の異なるコンピュータ装置１を、備える。当該２の異なるコンピュータ装置１の１つであるノード１Ａは、入力手段１０１を、有する。また、当該２の異なるコンピュータ装置１の１つであるサーバ１Ｂは、出力手段１０２、実装手段１０３および実行手段１０４を、備える。このとき、サーバ１Ｂは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをサーバ１Ｂ上に送信する。このとき、入力手段１０１は、入力装置１４と、ＡＰＩなどを含むネットワークＮＷと、に基づき、入力処理を行う。出力手段１０２による表示処理は、ノード１Ａおよびサーバ１Ｂが協調しながら、実現される。実施形態２におけるシステムに係る機能は、クラウドコンピューティングの態様で実現される。なお、システムにおけるノード１Ａおよびサーバ１Ｂの数量に、制限はない。サーバ１Ｂは、入力装置１４および出力装置１５を、備えなくてよい。
【００５３】
本発明によると、ソフトウェア操作におけるユーザエクスペリエンスを向上する、より簡易的なオートメーション方法を、提供できる。
【００５４】
＜実施形態３＞
以下、本発明に係るシステムの実施形態３について説明する。なお、実施形態１及び２のそれぞれと同様の構成については、同様の符号を付してその説明を省略する。
【００５５】
図１４が示す通り、実施形態３におけるシステムは、２の異なるコンピュータ装置１を、備える。当該２の異なるコンピュータ装置１の１つであるノード１Ａは、入力手段１０１、出力手段１０２及び実行手段１０４を、有する。また、当該２の異なるコンピュータ装置１の１つであるサーバ１Ｂは、実装手段１０３を、備える。このとき、サーバ１Ｂは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをノード１Ａ上に送信する。また、このとき、サーバ１Ｂは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをノード１Ａ上に通信する構成であってよい。また、このとき、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロは、手作業の貼り付け等のユーザ操作を経て、ノード１Ａ上に通信される構成であってよい。また、このとき、ノード１Ａは、実行手段１０４による１以上の情報処理の実行結果を、ノード１Ａに送信する。入力手段１０１は、入力装置１４と、ＡＰＩなどを含むネットワークＮＷと、に基づき、入力処理を行う。出力手段１０２による表示処理は、ノード１Ａおよびサーバ１Ｂが協調しながら、実現される。実施形態３における動作・作用・機能の一部は、クラウドコンピューティングの態様で実現される。なお、ノード１Ａおよびサーバ１Ｂの数量に、制限はない。
【００５６】
＜実施形態４＞
以下、本発明に係るシステムの実施形態４について説明する。なお、実施形態１〜３のそれぞれと同様の構成については、同様の符号を付してその説明を省略する。
【００５７】
図１５が示す通り、実施形態４におけるシステムは、２の異なるコンピュータ装置１を、備える。当該２の異なるコンピュータ装置１の１つであるノード１Ａは、入力手段１０１、出力手段１０２及び実装手段１０３を、有する。また、当該２の異なるコンピュータ装置１の１つであるサーバ１Ｂは、実行手段１０４を、備える。このとき、ノード１Ａは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをサーバ１Ｂ上に送信する。また、このとき、サーバ１Ｂは、実行手段１０４による１以上の情報処理の実行結果を、ノード１Ａに送信する。入力手段１０１は、入力装置１４と、ＡＰＩなどを含むネットワークＮＷと、に基づき、入力処理を行う。出力手段１０２による表示処理は、ノード１Ａおよびサーバ１Ｂが協調しながら、実現される。実施形態４における動作・作用・機能の一部は、クラウドコンピューティングの態様で実現される。なお、ノード１Ａおよびサーバ１Ｂの数量に、制限はない。
【００５８】
＜実施形態５＞
以下、本発明に係るシステムの実施形態５について説明する。なお、実施形態１〜４のそれぞれと同様の構成については、同様の符号を付してその説明を省略する。
【００５９】
図１６が示す通り、実施形態５におけるシステムは、２の異なるコンピュータ装置１を、備える。当該２の異なるコンピュータ装置１の１つであるノード１Ａは、入力手段１０１及び出力手段１０２を、有する。また、当該２の異なるコンピュータ装置１の１つであるサーバ１Ｂは、実装手段１０３及び実行手段１０４を、備える。このとき、サーバ１Ｂは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをサーバ１Ｂ上に送信する。また、このとき、サーバ１Ｂは、実行手段１０４による１以上の情報処理の実行結果を、ノード１Ａに送信する。入力手段１０１は、入力装置１４と、ＡＰＩなどを含むネットワークＮＷと、に基づき、入力処理を行う。出力手段１０２による表示処理は、ノード１Ａおよびサーバ１Ｂが協調しながら、実現される。実施形態５における動作・作用・機能の一部は、クラウドコンピューティングの態様で実現される。なお、ノード１Ａおよびサーバ１Ｂの数量に、制限はない。
【００６０】
＜実施形態６＞
以下、本発明に係るシステムの実施形態６について説明する。なお、実施形態１〜５のそれぞれと同様の構成については、同様の符号を付してその説明を省略する。
【００６１】
図１７が示す通り、実施形態６におけるシステムは、２の異なるコンピュータ装置１を、備える。当該２の異なるコンピュータ装置１の１つであるノード１Ａは、入力手段１０１、実装手段１０３及び実行手段１０４を、有する。また、当該２の異なるコンピュータ装置１の１つであるサーバ１Ｂは、出力手段１０２を、備える。このとき、ノード１Ａは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをノード１Ａ上に送信する。また、このとき、ノード１Ａは、実行手段１０４による１以上の情報処理の実行結果を、サーバ１Ｂに送信する。入力手段１０１は、入力装置１４と、ＡＰＩなどを含むネットワークＮＷと、に基づき、入力処理を行う。出力手段１０２による表示処理は、ノード１Ａおよびサーバ１Ｂが協調しながら、実現される。実施形態６における動作・作用・機能の一部は、クラウドコンピューティングの態様で実現される。なお、ノード１Ａおよびサーバ１Ｂの数量に、制限はない。
【００６２】
＜実施形態７＞
以下、本発明に係るシステムの実施形態７について説明する。なお、実施形態１〜６のそれぞれと同様の構成については、同様の符号を付してその説明を省略する。
【００６３】
図１８が示す通り、実施形態７におけるシステムは、２の異なるコンピュータ装置１を、備える。当該２の異なるコンピュータ装置１の１つであるノード１Ａは、入力手段１０１及び実行手段１０４を、有する。また、当該２の異なるコンピュータ装置１の１つであるサーバ１Ｂは、出力手段１０２及び実装手段１０３を、備える。このとき、サーバ１Ｂは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをノード１Ａ上に送信する。また、このとき、ノード１Ａは、実行手段１０４による１以上の情報処理の実行結果を、サーバ１Ｂに送信する。入力手段１０１は、入力装置１４と、ＡＰＩなどを含むネットワークＮＷと、に基づき、入力処理を行う。出力手段１０２による表示処理は、ノード１Ａおよびサーバ１Ｂが協調しながら、実現される。実施形態７における動作・作用・機能の一部は、クラウドコンピューティングの態様で実現される。なお、ノード１Ａおよびサーバ１Ｂの数量に、制限はない。
【００６４】
＜実施形態８＞
以下、本発明に係るシステムの実施形態８について説明する。なお、実施形態１〜７のそれぞれと同様の構成については、同様の符号を付してその説明を省略する。
【００６５】
図１９が示す通り、実施形態８におけるシステムは、２の異なるコンピュータ装置１を、備える。当該２の異なるコンピュータ装置１の１つであるノード１Ａは、入力手段１０１及び実装手段１０３を、有する。また、当該２の異なるコンピュータ装置１の１つであるサーバ１Ｂは、出力手段１０２及び実行手段１０４を、備える。このとき、ノード１Ａは、実装手段１０３により登録された１以上の情報処理、および、１以上の情報処理に係る実行順を含むマクロをサーバ１Ｂ上に送信する。また、このとき、サーバ１Ｂは、実行手段１０４による１以上の情報処理の実行結果を、サーバ１Ｂに送信する。入力手段１０１は、入力装置１４と、ＡＰＩなどを含むネットワークＮＷと、に基づき、入力処理を行う。出力手段１０２による表示処理は、ノード１Ａおよびサーバ１Ｂが協調しながら、実現される。実施形態８における動作・作用・機能の一部は、クラウドコンピューティングの態様で実現される。なお、ノード１Ａおよびサーバ１Ｂの数量に、制限はない。
【００６６】
一実施形態における出力装置１５は、慣用のプリンタ（印刷装置）、又は、サーバ装置の一態様であるデータサーバであってよい。
【００６７】
一実施形態における上述の「分岐処理の条件」は複数の条件を呈する構成としてよい。また、上述の「反復処理範囲」は複数の範囲を呈する構成としてよい。つまり、当該「分岐処理の条件」及び「反復処理範囲」は、１対１の対応関係だけでなく、ｎ対ｎ（ｎは自然数。）の対応関係を呈する構成としてよい。
【００６８】
一実施形態における実装画面Ｗ１、順次実行画面Ｗ２および個別実行画面Ｗ３を含む各種画面の寸法、オブジェクト配置、呈色に、制限はない。
【００６９】
一実施形態における、上述の複数のステップからなる処理フローチャートは、特段の指定が無い限り、順不同に行われ得る。
【００７０】
本明細書中の説明における「スプレッドシートに付随するマクロ」とは、アドイン・パーソナルマクロ等の既知又は慣用のスプレッドシートから利用されるような、外部ファイル又は別ファイルとしてのマクロを、指す。また、本発明の一実施形態に係るマクロは、スプレッドシートに付随する、対応する、紐付く、又は、一意である、外部ファイル又は別ファイルとしてのマクロである、と把握することができる。
【００７１】
なお、本発明の一実施形態における２の異なるコンピュータ装置１は、例として、それぞれ、「ノード１Ａ」及び「サーバ１Ｂ」と呼称されるが、当該２の異なるコンピュータ装置１は、それぞれ、ノード・クライアント・サーバ等の種別に制限はなく、様々な構成をとり得る。当該２の異なるコンピュータ装置は、それぞれノード（端末）であってよいし、それぞれサーバであってよい。
【符号の説明】
【００７２】
Ｐ０  プログラム
１  コンピュータ装置
１１  演算装置
１２  主記憶装置
１３  補助記憶装置
１４  入力装置
１５  出力装置
１６  通信装置
１０１  入力手段
１０２  出力手段
１０３  実装手段
１０４  実行手段
Ｗ１  実装画面
Ｗ１Ａ  オブジェクト指定部
Ｗ１Ｂ  条件指定部
Ｗ１Ｃ  処理指定部
Ｗ２  順次実行画面
Ｗ３  個別実行画面
１Ａ  ノード
１Ｂ  サーバ
ＮＷ  ネットワーク
【図１】
0006853932.tif 000002
【図２】
0006853932.tif 000003
【図３】
0006853932.tif 000004
【図４】
0006853932.tif 000005
【図５】
0006853932.tif 000006
【図６】
0006853932.tif 000007
【図７】
0006853932.tif 000008
【図８】
0006853932.tif 000009
【図９】
0006853932.tif 000010
【図１０】
0006853932.tif 000011
【図１１】
0006853932.tif 000012
【図１２】
0006853932.tif 000013
【図１３】
0006853932.tif 000014
【図１４】
0006853932.tif 000015
【図１５】
0006853932.tif 000016
【図１６】
0006853932.tif 000017
【図１７】
0006853932.tif 000018
【図１８】
0006853932.tif 000019
【図１９】
0006853932.tif 000020