制御文としては、以下のものがあります。
文  | 説明  | 
|---|---|
IF  | 処理の分岐  | 
WHILE  | ループ  | 
GOTO  | ジャンプ  | 
IF文は条件文によって処理の流れを変える制御文です。条件文の演算結果がTRUE(真)、FALSE(偽)によって処理が分岐されます。
●構文
構文1: 基本形
IF(条件文) 文 ・・・ 条件文がTRUE(真)の時に実行されます ENDIF
構文2: 条件文によって処理がそれぞれに分岐する場合
IF(条件文) 文 ・・・ 条件文がTRUE(真)の時に実行されます ELSE 文 ・・・ 条件文がFALSE(偽)の時に実行されます ENDIF
構文3: 複数の条件文によって処理が分岐する場合
IF(条件文1) 文 ・・・ 条件文1がTRUE(真)の時に実行されます ELSEIF(条件文2) 文 ・・・ 条件文2がTRUE(真)の時に実行されます ENDIF
●補足
文は複数の文を記述できます。
IF文の中にIF文を入れ子にできます。
条件文には、論理値や整数が記述できます。
条件文は1つだけ記述できます。
(条件文どうしの演算結果を条件文とすることはできません)
●使用例
次の例は"TSSX"という文字列を検索してその結果をMsgBox関数で表示しています。
    IF( Scan("TSSX") )
          MsgBox("ログオンが完了しました")
    ELSE
          MsgBox("ログオンは完了していません")
    ENDIFWHILE文は条件文がTRUE(真)である間処理を繰り返します。
●構文
WHILE (条件文) 文1 文2 : ENDWHILE
●補足
文は複数の文を記述できます。
WHILE文の中にIF文やWHILE文を記述できます。
条件文は1つだけ記述できます。
(条件文どうしの演算結果を条件文とすることはできません)
WHILE文から強制的に抜けるときはBREAKWHILE文を使います。
WHILE文の先頭へ強制的に処理を移すときはCONTINUE文を使います。
●使用例
次の例はWHILE文で無限ループを行い"TSSX"という文字列が見つかったらWHILEから抜けます。見つからなかったらキー入力可能になるのを待ってWHILE文の先頭に戻ります。
    WHILE( TRUE )
          IF( Scan("TSSX") )
                MsgBox("ログオンが完了しました")
                BREAKWHILE
          ELSE
                Wait()
                CONTINUE
          ENDIF
    ENDWHILEGOTO文は指定ラベル位置の処理へジャンプします。
●構文
GOTO(ラベル) 文1 文2 : ラベル: 文x1 文x2 :
●補足
ラベルには任意の文字列を記述できます。
ラベルはGOTO文の前後いずれにも記述できます。
マクロ内に同一文字列のラベルを複数記述することはできません。
●使用例
次の例では、現在キーボードロック状態の場合ERR_KEYLOCKラベルへジャンプします。
    IF( IsKeyboardLock() )
          GOTO(ERR_KEYLOCK)
    ENDIF
     ;[その他の処理]
    ERR_KEYLOCK:
          MsgBox("キー入力できない状態です")