SikuliXでメモ帳を操作するロボを作ってみよう

Sikulix

最終更新日:2022年10月10日

こさい
こさい

こんにちは。完全自動化研究所の小佐井です。
SikuliXで「メモ帳を直接起動して文字を書きこむロボ」を作ってみましょう!

オープンソースの無料RPA「SikuliX」で「メモ帳を直接起動して、文字を書きこむロボ」を作ってみましょう!

外部アプリケーションをSikuliXから起動する方法や文字の入力方法など、実践的なロボを作るテクニックが入っていますよ。

このページのロボを作れると、さらに業務に役立つロボが作れるようになってきますよ!

早速、見ていきましょう。

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。開発から業務改善まで幅広く経験してきました
2) 複数の企業においてRPAのコンサルティングを行っています
3) RPA関連の書籍を5冊出版しています

  1. オープンソースで作る!RPAシステム開発入門
  2. 実務者のための失敗しないRPAシナリオ設計入門
  3. UiPath業務自動化最強レシピ
  4. WinActor業務自動化最強レシピ
  5. Power Automate for desktop業務自動化最強レシピ

SikuliXでメモ帳を操作するロボを作ってみよう

動作確認環境

  • SikuliX1.1.1
  • OS:Windows10

アプリケーションを直接起動する

アプリケーションを直接SikuliXから起動するときは、subprocess.Popen関数を使います。

[nlink url=”/sikuopenapp/”]

ちなみに、このページではメモ帳を起動するためにsubprocessモジュールのPopen関数を使っていますが、他の方法もあります。

[nlink url=”/sikulix_app_class/”]

さて、subprocessモジュールをインポートして、以下のプログラムを記述してください(リスト1)。


# -*- coding: utf-8
import os
import subprocess

#メモ帳へのパス
app1 = os.path.join(os.environ['WINDIR'],'notepad.exe')

#メモ帳を開く
subprocess.Popen([app1])

sleep(1)   #ちゃんと開くまで1秒待つ

リスト1

メモ帳へのパスの部分はパスの連結と環境変数を使っています。詳しくは下のページを参照してください。

[nlink url=”/sikupath/”] [nlink url=”/sikuenviron/”]

これでメモ帳が立ち上がります(図1)。

図1:起動したメモ帳

文字(日本語)を入力させる

日本語を入力するプログラムは以下の通りです(リスト2)。


s = u"メモ帳が立ち上がりました。"
paste(s)

リスト2

通して動かすと、メモ帳が立ち上がり、メモ帳のなかにテキストが入力され、下の図のようになります。

図2:メモ帳にテキストが入力される

注意

メモ帳が立ち上がりました。」の前にuが付いていますね。

SikuliXのプログラムはPythonを使っていますので、日本語を扱う時は、Pythonの流儀に従わなくてはいけません。

以下の記事を参考にして、文字コードに注意してくださいね。

[nlink url=”/sikulix_character/”]

まとめ

全部のプログラムを書くと下のようになります(リスト3)。


# -*- coding: utf-8
import os
import subprocess

#メモ帳へのパス
app1 = os.path.join(os.environ['WINDIR'],'notepad.exe')

#メモ帳を開く
subprocess.Popen([app1])

sleep(1)   #ちゃんと開くまで1秒待つ

s = u"メモ帳が立ち上がりました。"
paste(s)

リスト3

こさい
こさい

うまく動きましたか?

関連記事

[nlink url=”/install_sikulix1-1-1/”] [nlink url=”/sikuopenapp/”] [nlink url=”/sikulix_app_class/”]