AutoItとは|Windows向けフリーのスクリプト自動化プログラミング言語の定義と特徴
AutoIt /ɔːtoʊɪt/は、Microsoft Windows用のフリーウェアのプログラミング言語である。バージョン1と2では、Microsoft Windowsのプログラムの自動化スクリプトを作成するために使用されていた。これらはマクロと呼ばれることもある。バージョン3では、プログラミング言語が拡張され、より多くのことができるようになりました。
AutoIt 1 と 2 のスクリプト言語はステートメント駆動型でした。これはユーザーのコンピュータへの入力をシミュレートするように設計されていました。バージョン3以降、AutoItの構文が変更されました。現在では BASIC プログラミング言語に似ています。AutoItバージョン3は汎用プログラミング言語です。配列などのデータ型を持つことができます。
AutoIt スクリプトをスタンドアロンの実行ファイルに変換することができます。これは、AutoIt インタープリタがインストールされていないコンピュータ上で実行することができます。広範囲の関数ライブラリが利用可能です。これらは UDF(User Defined Functions)として知られています。いくつかは標準で含まれています。その他のものはウェブサイトから入手できます。これらは言語に追加の機能を追加します。AutoItには特別なエディタ、統合開発環境またはIDEがあります。これはフリーの SciTE エディタをベースにしています。コンパイラとヘルプテキストはこの特別なエディタに含まれており、開発者のための標準的な環境を提供します。
概要と背景
AutoItは主にWindowsの操作自動化を目的として設計されたスクリプト言語です。ウィンドウの操作、キーボード入力やマウス操作のシミュレーション、コントロールへの直接アクセス、ファイル操作、レジストリ操作など、Windows上で必要な多くのタスクを自動化できます。バージョン3以降は、より汎用的なプログラミング機能(変数、配列、関数、ループ、条件分岐など)を備え、簡単なアプリケーション作成にも使われます。
主な特徴
- Windows専用:Windows APIやGUIコントロールに深く統合されており、OSの操作を細かく制御できます。
- シンプルな文法:読みやすく覚えやすい構文で、スクリプト作成の敷居が低いです(BASICに似たスタイル)。
- 豊富な組み込みコマンド:ウィンドウ操作、ファイルI/O、文字列処理、ネットワーク、プロセス管理など多くの命令を標準で提供。
- UDF(ユーザー定義関数):コミュニティや公式で多数のUDFが公開され、機能を容易に拡張できます(例:COM操作、画像認識、データベース接続など)。
- コンパイル機能:スクリプトを単一の実行ファイル(EXE)へ変換でき、配布や実行環境の簡素化が可能です。
- AutoItX:COM/DLLとして利用でき、他言語(VBScript、C#、Pythonなど)からAutoItの機能を呼び出せます。
代表的なコマンドと用途
- WinWait / WinActivate / WinClose:ウィンドウの待機、アクティブ化、終了などウィンドウ制御。
- ControlClick / ControlSend:ウィンドウのコントロール(ボタン、テキストボックス等)へ直接命令を送ることで、座標に依存しない自動化が可能。
- Send / MouseClick:キーボード・マウスの入力をシミュレート(単純なマクロ用途)。
- PixelSearch / PixelGetColor:画面上のピクセルを検索し、位置や色に応じた処理を行う。
- GUICreate / GUI関係コマンド:スクリプトでGUIアプリケーションを作成可能。
簡単なサンプル
以下は、指定したウィンドウが表示されるまで待ち、テキストを送信する簡単な例です。
; メモ帳がアクティブになるまで待つ WinWaitActive("無題 - メモ帳") ; テキストを送信 Send("Hello, AutoIt!{ENTER}")
配布と実行
作成したスクリプト(.au3ファイル)は、配布前に標準ツールで単一の実行ファイル(.exe)へコンパイルできます(Aut2Exeなど)。コンパイルされたEXEは、ターゲットマシンにAutoItのインタープリタがインストールされていなくても実行できます。アイコンの変更やアイコン埋め込み、簡易的な暗号化オプションなどもサポートされています。
開発環境とコミュニティ
公式の開発環境はSciTEベースのエディタ(SciTE4AutoIt3)が提供されており、構文ハイライト、補完、デバッグ、ヘルプ統合などスクリプト開発に便利な機能が組み込まれています。公式フォーラムやUDFライブラリ、サンプルスクリプトが豊富にあり、初心者から上級者まで学びやすいコミュニティがあります。
利用例と注意点
- 定型処理の自動化、インストールの自動化、スクリーンスクレイピング、簡易的なテストスクリプト作成、デスクトップアプリの自動操作などに適しています。
- GUI自動化は画面解像度やウィンドウ位置、アプリのバージョンに依存しやすく「壊れやすい」面があります。可能な場合はControl系コマンドやCOM経由で操作する方法を優先すると堅牢性が高まります。
- Windows専用のため、マルチプラットフォームが必要な用途には向きません。
まとめ
AutoItはWindows環境での自動化を手早く実現できる実用的なスクリプト言語です。シンプルな文法と豊富な標準機能、コミュニティによるUDF群により、日常業務の自動化から簡易アプリケーション作成まで幅広く活用できます。ただしGUI操作の脆弱性やWindows限定である点を踏まえ、利用目的に応じた設計・実装が重要です。


典型的なAutoITスクリプトのスクリーンショット
特徴
- Windows 用 BASIC ライクな構造のスクリプト言語
- スタンドアロン実行ファイルへのコンパイル
- 特定のアプリケーションやアプリ用のアドオンライブラリやモジュール
- TCPおよびUDPプロトコルをサポート
- コンポーネントオブジェクトモデル(COM)をサポート
- DLLファイル内の関数を呼び出す
- コンソールアプリの実行と標準ストリームへのアクセス
- 実行時に抽出するコンパイルファイルにデータファイルを含める
- メッセージボックスや入力ボックスを含むグラフィカルユーザーインターフェースの作成
- サウンドの再生、一時停止、再開、停止、シーク、サウンドの現在位置の取得、サウンドの長さの取得
- マウスの動きをシミュレート
- ウィンドウとプロセスの操作
- ユーザーの入力やキーストロークをアプリやアプリ内の個々のコントロールに送信することを自動化
- バージョン3.2.4.0からのUnicodeサポート
- バージョン3.2.10.0から64ビットコードをサポート
- 正規表現をサポート
- ユーザーアカウント制御に対応
- ライブラリによるオブジェクト指向設計
使用方法
AutoItは、Microsoft Windows用のユーティリティーソフトウェアを作成するためによく使用されています。これらのプログラムは、ルーチンタスクを自動化することができます。使用例としては、システム管理、監視、メンテナンス、ソフトウェアのインストールなどがあります。また、ユーザーのインタラクションをシミュレートするためにも使用されます。この用途では、人間のユーザーのように振る舞うAutoItスクリプトによってアプリケーションが「駆動」されます。AutoITスクリプトは、キープレス、マウスクリック、タイプテキストなどを発行することができます。このようにして、アプリケーションの人間のユーザをシミュレートします。
AutoItは低コストのラボラトリーオートメーションに使用されています。アプリケーションには、機器の同期化、アラーム監視、結果収集などがあります。3Dプリンターなどのデバイスも制御できます。
例としては、以下のようなものがあります。
ハローワールド
Windowsの電卓を自動化する
平均値を探す
歴史
- 1999年1月 - 初のAutoItバージョン(1.0
- 1999年8月 - AutoIt v2 と AutoItX
- 1999年9月 - Compilerを使用したAutoItの最初のバージョン
- 2002年12月 - AutoIt v3 (パブリックベータ)
- 2004年2月 - AutoIt v3 (安定版)
- 2006年9月 - Auto3Lib開始
- 2007年11月 - AutoIt v3.2.10.0 がリリースされ、Auto3Lib が AutoIt v3 に組み込まれました。
- 2008年5月 - AutoIt v3.2.12.0 がリリースされ、GUI機能が追加されました。
- 2008年12月 - AutoIt (および AutoItX) v3.3.0.0 がリリースされました。
- 2009年12月 - AutoIt v3.3.2.0 がリリースされました。
- 2010年1月 - AutoIt v3.3.4.0 リリース
- 2010年3月 - AutoIt v3.3.6.0 がリリースされました。
- 2010年4月 - AutoIt v3.3.6.1 がリリースされました。
- 2011年12月 - AutoIt v3.3.8.0 がリリースされました。
- 2012年1月 - AutoIt v3.3.8.1 がリリースされました。
- 2013年12月 - AutoIt v3.3.10.0 がリリースされました。
- 2014年6月 - AutoIt v3.3.12.0 がリリースされました。
- 2015年7月 - AutoIt v3.3.14.0とv3.3.14.1がリリースされました。
- 2015年9月 - AutoIt v3.3.14.2リリース
- 2018年2月 - AutoIt v3.3.14.3リリース
ライセンス
AutoItの開発者はもともとGNU一般公衆ライセンス(GPL)のもとでソースコードをリリースしました。
2006年には、バージョン3.2.0以降のバージョンでは、独自のクローズドソースライセンスに変更されました。
バージョン3.1のコードの一部は、AutoHotkeyプロジェクトによるフォークを作成するために使用されました。これは GPL ライセンス条項の下で許可されています。AutoHotkeyコミュニティは、GPLのもとでコードを開発し、リリースし続けています。
質問と回答
Q:AutoItとは何ですか?
A:AutoItはMicrosoft Windows用のフリーウェア・プログラミング言語です。
Q:バージョン1、2でのAutoItの使用方法を教えてください。
A: バージョン1、2では、Microsoft Windowsプログラムの自動化スクリプト(マクロとしても知られています)を作成するために使用されていました。
Q:バージョン3のAutoItは何が変わったのですか?
A: バージョン3では、より多くのことができるようにスクリプト言語が拡張され、BASICプログラミング言語に似た構文に変更されました。
Q: AutoItスクリプトにはどのようなデータを含めることができますか。
A: AutoItスクリプトには、配列のようなデータタイプを含めることができます。
Q: インタープリターがインストールされていないコンピュータでも、AutoItスクリプトを実行できますか。
A: はい。AutoItスクリプトはスタンドアロン実行ファイルに変換でき、インタープリターがインストールされていないコンピュータでも実行できます。
Q:言語で利用できる特別な能力はありますか?
A: はい、UDF(User Defined Functions)と呼ばれる様々な関数ライブラリが用意されており、標準装備されているものと、ウェブサイトから入手できるものがあります。
Q: AutoItで開発するための特別なエディターはありますか?
A: はい、無料のSciTEエディタをベースにした専用エディタがあり、コンパイラとヘルプテキストを含む開発者のための標準的な開発環境を提供しています。