Practice makes Perfect !

ExtendedScript素人です。同じ境遇の方、一緒に脱素人を目指しましょう!

関数

関数は汎用的に利用できる処理をまとめたものです。箱のような入れ物に機能をまとめておくと考えるとわかりやすいと思います。

関数は定義する場合はfuncution( )を使います。

function 関数名 ( 引数 ){
命令文;
}

引数が複数ある場合はカンマで区切ります。

また関数で処理した結果を戻り値として返したい場合はreturnを使います。

function 関数名 ( 引数 ){
命令文;
return 戻り値;
}

例えば以下にnumという関数を定義します。

function num(n1, n2){
	// 引数n1とn2で渡された数値を合計し、結果を返す
	return n1 + n2;
}
// num という関数を実行する。(引数n1に 3、引数n2に 8 を指定し結果を得る)
var total = num(3, 8);

// コンソール出力
$.writeln(total); // 11


下の例では、main()という関数を定義して、最後に実行しています。
関数の中身は①新規ドキュメントの作成、②保存先の指定、③指定したフォルダにsample.inddというファイル名で保存、④ドキュメントを閉じるという処理を行っています。

function main() {

//新規ドキュメントを作成
var docObj= app.documents.add( );

//保存先を選択するダイアログを表示
var sDir= Folder.selectDialog('保存するフォルダを選択');

//sample.inddという名前で先に指定したフォルダに保存
var fObj= new File(sDir.getRelativeURI("/")+'/sample.indd');
docObj.save(fObj);

//ドキュメントを閉じる
docObj.close();
}

// main という関数を実行する
main();

関数は次のような書き方をすることもあります。

(function(){
命令文;
})();

この場合の処理はすぐに実行されます。即時関数と呼ばれることもあるそうです。