English help on website



seterrormode( n1, n2 ) 関数(Ver9.35対応版)
目次関数(その他関数)− seterrormode( n1, n2 ) 関数
seterrormode関数は、マクロ実行中に各種エラーを出すかどうかを指示します。(V8.00以降)
seterrormode文の関数版です。
seterrormode文と同じですが、設定すると同時に直前の値を返り値で知ることができます。
#old = seterrormode( 0, 0 );
パラメータ1(数値型)
設定する種類を指定します。

パラメータ2(数値型)
パラメータ1の値によって意味が変化します。

返り値(数値型)
設定する前の、パラメータ1の種類に対応する値が返ります。


パラメータ1によって、パラメータ2の意味は以下のようになります。

0の場合
disableerrormsg相当。
パラメータ2の意味:
0x00000000 enableerrormsgの状態
0x00000001 disableerrormsgの状態
1の場合
10秒待っても切り替えできないエラーを表示するどうか。
パラメータ2の意味:
0x00000000 表示しない(抑制する)
0x00000001 表示する(抑制しない)
2の場合
開くときのエンコードの種類関連。
パラメータ2のマスク値(論理積した値):
0x0000000f 変換できない文字(デフォルトOFF)
0x000000f0 NULL文字(デフォルトOFF)
0x00000f00 複数マッチエンコードの選択(デフォルトOFF)
0x0000f000 書き込み許可で開くことができないときのエラー(デフォルトは動作環境に従う)
0x000f0000 改行文字のエラー(デフォルトOFF)
0x00f00000 見つからないときの新規作成の問い合わせ(デフォルトOFF)/選択結果はgetresultex(22)(V8.92以降)
0x0f000000 ファイル検索パスの問い合わせ(デフォルトON)/選択結果はgetresultex(21)(V8.92以降)
マスクされたビットが 0 でデフォルト、1でON、2でOFFです。
(例:0x02002000 で、書き込み許可で開くことができないときのエラーをOFF、ファイル検索パスをOFF)
上記 0 のデフォルトというのは、「開く」「名前を付けて保存」などから操作した場合と同じ動作になるという意味ではありません。
マクロにとってのデフォルトということで、従来通りのマクロの既定の動作になります。
3の場合
保存するときのエンコードの種類関連。
パラメータ2のマスク値(論理積した値):
0x0000000f 上書き保存時の変換できない文字がある場合の問い合わせ(デフォルトON)
0x000000f0 ?に変換した後のメッセージ(デフォルトON)
0x00000f00 空だったとき(デフォルトON)
0x0000f000 無題で更新で空のとき(デフォルトOFF)
マスクされたビットが 0 でデフォルト、1でON、2でOFFです。
(例:0x00000200 で、空だったときのエラーをOFF)
上記 0 のデフォルトというのは、「開く」「名前を付けて保存」などから操作した場合と同じ動作になるという意味ではありません。
マクロにとってのデフォルトということで、従来通りのマクロの既定の動作になります。
4の場合(V8.73以降)
OKボタンだけがある一般的なメッセージを表示するかどうか。
パラメータ2の意味:
0x00000000 表示しない(抑制する)
0x00000001 表示する(抑制しない)
5の場合(V8.85以降)
call/gotoでラベルが見つからないときにエラーを出してマクロを中断するかどうか。
パラメータ2の意味:
0x00000000 エラーを表示せず(抑制して)、次の文へマクロの実行を継続
0x00000001 エラーを表示して(抑制せず)、マクロの実行を中断
エラーを表示しない場合、ラベルが見つからずに次の文に来たかどうかはgetresultex(17)で知ることができます。
6の場合(V9.19以降)
JavaScript実行時のエラーをメッセージボックスで出すかどうか。
パラメータ2の意味:
0x00000000 エラーを表示しない
0x00000001 エラーを表示する


seterrormodeの実行で変更されるのはパラメータ1の値に対応する状態のみで、他の状態には影響を与えません。
(たとえばseterrormode 0,1;とした場合、以前に行ったseterrormode1,1;はそのまま保持される)

直前の値を知るには、返り値で知ることができます。
seterrormode 0,0;
#new=1;
#old=seterrormode(0,#new);
message "設定前:0x"+hex(#old)+"\n"+"設定後:0x"+hex(#new);
参照:
seterrormode文
disableerrormsg, enableerrormsg文
影響の及ぶ範囲(execmacro)
影響の及ぶ範囲(アクティブ切り替え)