#Include / #IncludeAgain

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

#Include / #IncludeAgain[編集]

指定したスクリプトファイルの内容をその位置に組み込む。

#Include FileOrDirName
#Include <LibName> 
#IncludeAgain FileOrDirName

Parameters[編集]

引数名 説明
FileOrDirName ファイル名またはディレクトリを指定する。
ファイル名 インクルードするファイルを指定する。相対パスで記述した場合、基準ディレクトリ(スクリプト開始時はカレントディレクトリ)から検索される。変数・環境変数の参照は使えないが、%A_ScriptDir%, %A_AppData%, %A_AppDataCommon%, %A_LineFile% だけは例外的に使用できる。引用符で囲んだり、特定文字をエスケープしたりする必要は無い

ファイル名の前に半角スペースで区切って *iと書くと、ファイルが存在しなくてもエラーにせずそのまま実行するようになる。

ディレクトリ ファイル名の代わりにディレクトリパスを記述すると、#Include や FileInstall で使用される基準ディレクトリを変更できる。ディレクトリパスには変数・環境変数の参照は使えないが、%A_ScriptDir% だけは例外的に使用できる。

この方法で基準ディレクトリを変更しても、スクリプト実行時の %A_WorkingDir% の内容には影響は無い。

LibName AHKL [L57+] ライブラリ名または関数名を指定。「#Include <lib>」 や 「#Include <lib_func>」 のようにすると、"lib.ahk" をライブラリフォルダから探しインクルードを行う。

Remarks[編集]

#Include / #IncludeAgainは、スクリプトが実行される前の解析の段階で実行される。
スクリプトが実行されるときには、あたかも#Includeが書かれたところに指定されたスクリプトファイルの内容が書かれているかのようになる。

#Includeは、すでに一度組み込まれたスクリプトは組み込まれない。
#IncludeAgainでは、すでに組み込まれたことがあるかにかかわらず、指定したスクリプトが組み込まれる。

関数ライブラリ機能を利用すれば、#Includeを記述せずに、別のファイルに記述された関数を呼び出せる。

ListLinesなどで表示される行番号は、組み込みを行う前のものが表示される。

AHKL [v1.1.11+]: %A_LineFile%\..を使用して、それがメインのスクリプトファイルではない場合でも現在のファイルを含むディレクトリを参照できる。 例: #Include %A_LineFile%\..\other.ahk

Related[編集]

関数ライブラリ, 関数, FileInstall

Example(s)[編集]

a = aaaa
#Include %A_ScriptDir%  ;ここから下の#IncludeやFileInstallの基準パスを変更
#Include test.ahk
MsgBox,in main script
a = bbb
#Include test.ahk
MsgBox,in main script2
#IncludeAgain test.ahk
Loop,3
{
  a = %A_Index%
  #IncludeAgain test.ahk
}
;test.ahk
MsgBox,%a%