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

 

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

 

 

こんにちは。完全自動化研究所の小佐井です。

 

最初にロボを作ってみる方は、以下の記事を参照してください。

参照【SikuliX】5分でできるロボットを作ってみよう!【初心者向け】

 

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

 

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

 

※)SikuliXのバージョンは1.1.1で開発しています。

 

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

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

 

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

参照【SikuliX】アプリケーションを起動するApp.open

 

 

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

 


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

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

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

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

 

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

参照【SikuliX】パスを連結する方法

参照【SikuliX】環境変数を取得する方法

 

これでメモ帳が立ち上がります!

 

下の図みたいになりましたか?

 

 

 

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

日本語を入力するプログラムは以下の通りです。

 


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

 

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

 

 

注意

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

 

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

 

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

参照【SikuliX】やっかいな文字コードを攻略しよう!

 

まとめ

全部のプログラムを書くと下のようになります。

 


# -*- 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)

 

うまく動きましたか?

 

 

SikuliXの研修講師をお請けしています!

 

≫参照:【技術者向け】SikuliXで学ぶ、自動化の基礎(研修講師の依頼ページ)

 

kosai
小佐井

疑問・質問など、お気軽に!