カテゴリー
auカブコム証券のkabuステーション®をAutoItでWindows上で自動起動してみる
※ 当ページには【広告/PR】を含む場合があります。
2022/09/23

著者的に嗜む程度にですが、資産形成の一環もかねた趣味として株式投資を行っています。
株式投資に限らず様々な取引がオンラインで行われるのが主流である昨今、日本に住んでいる以上、気候変動による自然災害の激甚化で、いつなんどき被災して電気の無い状況に陥るかも知れないという不安が付きまといます。
最近まで、自宅に自律的な株式・FX取引を行うオンプレサーバーを立てて、独自の運用をしていたのですが、ここ数年でも、個人的に何回か取引はおろか、インターネットも満足に繋げない環境になったことを経験しました。
取引できない期間が長期に渡ることもあり、健全な資産管理を心がける上でも、このような状況はかなり好ましくありません。
ということで、レンタルVPSサーバーなどを利用して、取引環境自体をリモートサーバーで安全に稼働させることで、安定した取引環境を目指す第一歩として、AutoItによるWindowsアプリケーションの自動操作の手順を考えていこうと思います。
☆学習用途からビジネスまで幅広いシーンで活躍!☆
SSDプランが月々698円から使える!さくらのVPS


AutoItをWindowsへインストールする
WindowsアプリケーションをスクリプトでGUI操作するツールはいくつか選択肢がありますが、今回は代表的なフリーソフトの
WindowsをGUIからの操作を自動化する第一歩として、


後はイントーラーをダブルクリックして、そのままデフォルト設定でインストール作業を進めていきます。



この記事を執筆中は、現状のリリースバージョンはAutoItのv3.3になっています。
余談ですが、AutoItは完全無償なのに高度なWindows GUI操作を可能としてくれる一方で、悪意のある第三者がマルウェアコードを仕込んだものをひっそりと配布していたりと、何かと利用する上で深刻なリスクがあるかも知れないソフトウェアです。
AutoItを使う際には、AutoIt公式からのリソースダウンロードを徹底し、最新のリリースバージョンを利用するように心がけてください。
AutoIt用のVSCode拡張機能を利用する
AutoItマクロを作成するにあたって、AutoItのプログラムに付属している「SciTE editor」をそのまま使っても良いのですが、普段からVSCode使いなら、AutoIt用の便利な拡張機能がいくつか存在しています。

ここでは、もっともダウンロード数が多い拡張機能をインストールしてみます。

拡張機能を入れると、関数のオートコンプリートの他に、マウスを合わせるだけで説明と利用方法がサッと確認出来て、AutoItスクリプトの作成も非常に快適になります。

☆学習用途からビジネスまで幅広いシーンで活躍!☆
SSDプランが月々698円から使える!さくらのVPS


AutoItでkabuステーションに自動ログインする
先程の節の内容で、WindowsOSへのAutoItのインストールが完了したので、次は
まず始めに知っておくべきことは、auカブコム証券の開発する高速トレーディングツールの『kabuステーション®』は単純なWindowsのバイナリアプリケーションではなく、

このClickOne形式のアプリケーションの実体は、バイナリプログラムではなく、windowsで動作するスクリプトの一種で、テキストファイルとして中身を覗くことができます。
% ls
#...
-a---- 2022/09/14 17:21 338 kabuステーション.appref-ms
% cat .\kabuステーション.appref-ms
http://download.r10.kabu.co.jp/kabustation/KabuStation.application#KabuStation.application, Culture=neutral, PublicKeyToken=*************, processorArchitecture=msil
このスクリプトが行っていることは、ウェブ上にリンクされているURL先のファイルをローカルにダウンロードしてから、ダウンロードしたプログラム本体を開くことをしています。
こうすることで、ClickOne形式のアプリケーションは、ユーザーに常に最新のソフトウェアバージョンの利用させることができる一方で、アプリケーション起動のたびにブラウザー経由で、ソフトウェア本体(かアップデート差分)をダウンロードしてからでないと動作させることが出来ません。
ということで、ClickOne形式のアプリケーションを自動ログイン化しようとした場合、デスクトップにアイコンをダブルクリックして起動するという方法ではなく、
まずは、AutoItマクロの手順を少しでも簡略化させるため、ログイン時の口座番号の情報を打ち込んで、記録させておきます。

これでkabuステーションの起動時毎に、パスワードだけを入力するような状態に維持することができます。
ではここからAutoItスクリプトを作成していきましょう。
AutoItスクリプトは
.au3
適当な場所に
login.au3
これでIEでkabuステーションを立ち上がるかをチェックしてみましょう。
#include <IE.au3>
;👇IEを起動し、ダウンロードURLへ遷移
$oIE = _IECreate("http://download.r10.kabu.co.jp/kabustation/KabuStation.application")
ひとまずはこれでIEが起動し、通常のクリック起動で、先程の図のようなログイン画面まではいけるようになっていると思います。
ただ、更にログインを進めるにはパスワードを入力する必要があるので、パスワード入力も自動化する必要があります。
先程のAutoItスクリプトを以下のように更に手直ししてみましょう。
#include <IE.au3>
;👇IEを起動し、ダウンロードURLへ遷移
$oIE = _IECreate("http://download.r10.kabu.co.jp/kabustation/KabuStation.application")
;👇「ログイン」というウィンドウが作成されるまで待機
WinWait("ログイン", "", 10)
;👇[重要]kabuステーションが起動したら、追加で1秒(=1000ms)更に待つ
Sleep(1000)
;👇パスワードの文字列を送信
Send("<kabuステーションのログインパスワード>")
;👇「ログイン」ボタンをクリック
ControlClick("ログイン", "", "[NAME:btnOK]")
このスクリプトをデスクトップ上に配置し、直接クリックすると、
この動画のようにワンクリックで、kabuステーションが起動するようになっていればOKです。
ポイントとしては、kabuステーションのメイン画面が起動してから追加で少し待っておかないと、パスワードの入力の一部が欠損するようで、ログインが失敗してしまいます。
ここらへんはお手元の環境で多少挙動が違うかも知れませんので、上手く動作しないようであればパラメーターの微調整を各自で行ってください。
以上、AutoItを使った簡単なkabuステーションへのログイン手順の説明でした。
☆学習用途からビジネスまで幅広いシーンで活躍!☆
SSDプランが月々698円から使える!さくらのVPS


参考サイト
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー