++ 秀丸マクロ コマンド・リファレンス Ver.8.13 ++


2013.1.28初版

秀丸マクロ コマンド・リファレンス Ver.8.13

秀丸エディタ 公式サイト
http://hide.maruo.co.jp/software/hidemaru.html
Ver.8.13ヘルプより引用
ツイート

通常のコマンドを実行する文

1.ファイル系文
2.カーソル移動系文
3.クリップボード系文
4.削除系文
5.挿入系文
6.その他編集系文
7.検索系文
8.ウィンドウ系文
9.メニュー系文
10.その他のコマンド系文
11. アウトライン系文

メッセージ系 -->

プログラム実行系 -->

マクロ制御系 -->

入力系 -->

関数 -->



1.ファイル系の文

1 命令 機能
2 openfile ファイルを開く
3 loadfile ファイルを閉じて開く
4 saveas ファイルの名前を付けて保存
5 appendsave 別ファイルへの追加保存
6 changename ファイル名の変更
7 insertfile カーソル位置への読み込み
8 readonlyopenfile 書換え禁止でファイルを開く
9 readonlyloadfile 書換え禁止でファイルを閉じて開く
10 exit 終了
11 exitall 全終了
12 newfile ファイルの新規作成
13 print 印刷
14 quit 破棄して終了
15 save ファイルの上書き保存
16 saveexit 保存して終了
17 saveall 全保存
18 saveexitall 全保存終了
19 saveupdatedall 全保存(更新ファイルのみ)
20 savelf 上書き保存(改行=LF)
21 openbyshell ...を開く
22 openbyhidemaru ...を秀丸エディタで開く
23 setfilehist ファイルヒストリの設定
24 setpathhist フォルダヒストリの設定
25 closenew ファイルを閉じる
26 setencode エンコードの種類
27 quitall 全て破棄して終了(V8.00以降)

 ダイアログボックスを出すファイル系の文
  命令 機能
1 APPENDSAVE 別ファイルへの追加保存
2 CHANGENAME ファイル名の変更
3 INSERTFILE カーソル位置への読み込み
4 LOAD ファイルを閉じて開く
5 OPEN ファイルを開く
6 SAVEAS ファイルの名前を付けて保存
7 OPENFILEPART ファイルの一部を開く(V8.00以降)


2.カーソル移動系文

  命令 機能
1 up カーソル上移動
2 down カーソル下移動
3 right カーソル右移動
4 left カーソル左移動
5 gofileend ファイルの最後に移動
6 gofiletop ファイルの先頭に移動
7 gokakko 対応する括弧に移動
8 golastupdated 最後に編集した所に移動
9 goleftkakko '{'に移動
10 gorightkakko '}'に移動
11 golinetop 行頭に移動
12 golinetop2 論理行頭に移動
13 golineend 行末に移動
14 golineend2 論理行末に移動
15 golineend3 行末に移動(その2) (V5.05以降)
16 goscreenend 画面の最後に移動
17 goscreentop 画面の先頭に移動
18 jump 指定行に移動のダイアログを出す
19 moveto 任意の位置へのカーソル移動
20 movetolineno 任意の位置へのカーソル移動
21 moveto2 任意の位置へのカーソル移動
22 nextpage 次ページ
23 prevpage 前ページ
24 halfnextpage 半次ページ
25 halfprevpage 半分前ページ
26 rollup スクロールアップ
27 rollup2 スクロールアップ2
28 rolldown スクロールダウン
29 rolldown2 スクロールダウン2
30 wordleft 単語左(V6.50未満との互換の動作)
31 wordleft2 単語左(V7.09以降)
32 wordright 単語右
33 wordrightsalnen 単語右(サルネン風)
34 gowordtop 単語の先頭に移動(V6.50未満との互換の動作)
35 gowordend 単語の最後に移動(V6.50未満との互換の動作)
36 gowordtop2 単語の先頭に移動(V6.50以上の動作)
37 gowordend2 単語の最後に移動(V6.50以上の動作)
38 prevpos 前のカーソル位置
39 setmark 現在行のマーク/マーク解除
40 clearallmark マークを全て解除
41 marklist マーク一覧
42 nextmark マーク行の下検索
43 prevmark マーク行の上検索
44 prevfunc 上の強調行に移動
45 nextfunc 下の強調行に移動
46 nextresult 次の結果(V8.00以降)
47 prevresult 前の結果(V8.00以降)
48 gotagpair 対応するタグに移動(V8.00以降)
49 backtab タブ後退(V8.00以降)(タブ後退は、カーソル位置よりも左にあるタブストップにジャンプします。)
50 forwardtab タブ前進(V8.00以降)(タブ前進は、カーソル位置よりも右にあるタブストップにジャンプします。)


3.クリップボード系文

  命令 機能
1 appendcopy 追加コピー
2 appendcut 追加切り抜き
3 beginrect BOX範囲選択開始
4 beginsel 範囲選択開始
5 beginlinesel 行選択開始(V8.00以降)
6 endsel beginsel, beginrect, beginlineselによる範囲選択モードを解除(範囲選択はそのまま)
7 copy コピー(の後に範囲選択解除)
8 copy2 コピー(範囲選択はそのまま)
9 cut 切り抜き
10 copyline 行をコピー
11 cutline 行を切り抜き(V8.00以降)
12 copyword 単語をコピー
13 cutword 単語を切り抜き(V8.00以降)
14 escape 範囲選択を取り消す
15 escapeinselect 「選択した範囲内のみ」の動作を取り消す(検索系文)
16 paste 貼り付け
17 pasterect BOX貼り付け
18 refpaste 引用付き貼り付け(V6.50以降)
19 refcopy 引用付きコピー(の後に範囲選択解除)
20 refcopy2 引用付きコピー(範囲選択はそのまま)
21 selectall すべてを選択
22 selectline 行の選択(エディタ的な行単位、改行まで)
23 selectword 単語の選択単語の選択
24 showcliphist クリップボード履歴の表示
25 poppaste 貼り付け+履歴戻し
26 poppaste2 貼り付け+履歴戻し2(カーソル位置は「先頭のまま」で固定)(V8.00以降)
27 getcliphist クリップボード履歴からの取り出し
28 clearcliphist クリップボード履歴の消去
29 selectcfunc 強調行の範囲選択
30 copyurl ...をコピー(V4.10以降)
31 copyformed 折り返しに改行を入れてコピー(V8.00以降)


4.削除系文

  命令 機能
1 backspace Backspace
2 delete Del
3 deleteafter カーソルより後ろを削除
4 deletebefore カーソルより前を削除
5 deleteline 行削除
6 deleteline2 論理行削除(V8.00以降)
7 deleteword 単語の削除(カーソルの後ろだけ)
8 deletewordall 単語の削除(全部)
9
deletewordfront
単語の削除(カーソルより前の部分だけ)
 delete文はDelキーと同じ動作をします。範囲選択された状態だとその範囲を削除します。


5.挿入系文

  命令 機能
1 insert 文字列の挿入
2 insertfix 文字列の挿入その2
3 overwrite 文字列の上書き
4 dupline 行の二重化
5 insertline 空行挿入
6 insertreturn 改行
7 tab タブ
8 undelete 削除内容復元
 tab,dupline,insertline,undelete文の動作は、対応する秀丸エディタのコマンドと同じです。


6.その他編集系文

  機能 命令
1 undo やり直し
2 redo やり直しのやり直し
3 casechange 大文字/小文字の変換
4 indent インデント
5 unindent 逆インデント
6 shifttab 行選択の補完(逆インデントと同じです)
7 tab 選択範囲のタブによるインデント
8 tohankaku 半角文字に変換
9 tolower 小文字に変換
10 tospace タブ->空白変換
11 totab 空白->タブ変換
12 toupper 大文字に変換
13 tozenkakuhira 全角ひらがなに変換
14 tozenkakukata 全角カタカナに変換
15 capslockforgot CapsLockしわすれの是正
16 imeconvforgot 再変換(V4.xxまでのかな漢字変換しわすれの是正)
17 reopen 再読み込み(最初からやり直し)
18 filter 変換モジュールの呼び出し
19 autocomplete 単語補完
20 form 整形(V8.00以降)
21 unform 連結(V8.00以降)
22 showformline 整形ラインを表示(V8.00以降)


7.検索系文

  命令 機能
1 find 検索ダイアログ
2 find2 検索ダイアログ(searchbufferとsearchoptionとforceinselectが有効)
3 findword 検索ダイアログ(単語の検索)
4 searchdialog 検索ダイアログ(searchdownと同じパラメータ指定)
5 searchdown 下方向検索
6 searchdown2 下方向検索(その2)
7 searchup 上方向検索
8 searchup2 上方向検索(その2)
9 replace 置換ダイアログ
10 replacedialog 置換ダイアログ(replacedownと同じパラメータ指定)
11 replacedown 下方向置換
12 replaceup 上方向置換
13 replaceall 全置換
14 replaceallfast 高速全置換
15 finddown 下候補
16 finddown2 下候補(その2)
17 findup 上候補
18 findup2 上候補(その2)
19 getsearch 検索文字列の取得
20 gosearchstarted 検索開始位置へ戻る
21 setsearch 検索バッファの設定
22 setsearchhist 検索ヒストリの設定
23 setreplace 置換バッファの設定
24 setreplacehist 置換ヒストリの設定
25 setgrepfile grepの「検索するファイル」の設定
26 forceinselect 明示的に「選択した範囲のみ」で動作させる
27 goupdatedown 編集マークの下検索
28 goupdateup 編集マークの上検索
29 clearupdates 編集マークのクリア
30 grep grepの実行(パラメータ付き)
31 grepdialog grepの実行(ダイアログボックス)
32 grepdialog2 grepの実行(ダイアログボックス,パラメータ付き)(V6.00以降)
33 localgrep 現在の内容からgrepを実行
34 grepreplace 「grepして置換」の実行(パラメータ付き)(V6.50以降)
35 grepreplacedialog2 「grepして置換」の実行(ダイアログボックス,パラメータ付き)(V6.50以降)
36 escapeinselect 「選択した範囲内のみ」動作を取り消す
37 hilightfound 検索文字列の強調(V5.00以降)
38 colormarker 一時的なカラーマーカーを付ける(V7.00以降)
39 nextcolormarker 下のカラーマーカー(V7.00以降)
40 prevcolormarker 上のカラーマーカー(V7.00以降)
41 colormarkerdialog 一時的なカラーマーカー...(V8.00以降)
42 deletecolormarker 一時的なカラーマーカーを消去(V8.00以降)
43 deletecolormarkerall 一時的なカラーマーカーを全て消去(V8.00以降)
参考:
通常の検索では検索できないものを検索する文 findspecial もあります。
カラーマーカーを取得する関数getcolormarker関数もあります。


8.ウィンドウ系文

  命令 機能
1 nexthidemaru 次の秀丸エディタ
2 prevhidemaru 前の秀丸エディタ
3 nexthidemaruicon 次の秀丸エディタ(最小化のも含む)
4 prevhidemaruicon 前の秀丸エディタ(最小化のも含む)
5 nexttab 次のタブ(V5.00以降)
6 prevtab 前のタブ(V5.00以降)
7 restoredesktop デスクトップ復元
8 savedesktop デスクトップ保存
9 scrolllink 他の秀丸エディタと同時スクロール
10 split ウィンドウを2つに分割
11 splitswitch 分割ウィンドウ切り替え
12 windowcascade 秀丸エディタを重ねて表示
13 windowhorz 秀丸エディタを横に並べる
14 windowtiling 秀丸エディタを並べて表示
15 windowvert 秀丸エディタを縦に並べる
16 windowlist ウィンドウ一覧表示
17 compfile 他の秀丸エディタと内容比較
18 nextcompfile 次の内容比較(V5.03以降)
19 prevcompfile 前の内容比較(V8.00以降)
20 alwaystopswitch 常に手前に表示切り替え(V4.10以降)
21 settabmode タブモード切り替え(ウィンドウ一覧のタブ)(V5.00以降)
22 settabgroup タブを分離/移動(V5.00以降)
23 settaborder タブの順番変更(V5.00以降)
24 iconthistab このタブを最小化(V6.00以降)
25 fullscreen 全画面表示(V8.00以降)
nexthidemaru,prevhidemaruなどを実行すると、マクロの制御もそれに伴なって切り替えます。
  nexthidemaru, prevhidemaruは「次の秀丸エディタ」「前の秀丸エディタ」コマンドと同じ動きではありません。
  タブモードのとき、「次の秀丸エディタ」「前の秀丸エディタ」コマンドは「次のタブ」「前のタブ」として機能しますが、nexthidemaru,prevhidemaruはタブモードを解除したときと同じようにウィンドウの重なりがあるかのような振る舞いをします。
nexttab,prevtabなどを実行すると、V7.07まではマクロの制御切り替わりません。
  V7.08以降では、マクロの制御も切り替わります。


9.メニュー系文

「ユーザーメニュー1」などのユーザーメニューを出す文と「マクロ1」などの登録マクロを呼び出す文はマクロからは使えません。
 というか、使えてしまいますが、使わないでください。
 マクロからマクロを実行するには、execmacroを使います。


10.その他のコマンド系文

  命令 機能
1 backtagjump バックタグジャンプ
2 directtagjump ダイレクトタグジャンプ
3 freecursorswitch フリーカーソルモードの切り替え
4 imeswitch かな漢字変換の切り替え
5 imeregisterword かな漢への単語登録
6 help 外部ヘルプ
7 help2 外部ヘルプ2
8 help3 外部ヘルプ3
9 help4 外部ヘルプ4(V8.00以降)
10 help5 外部ヘルプ5(V8.00以降)
11 help6 外部ヘルプ6(V8.00以降)
12 msdnlibrary MSDNライブラリ(V3.02よりこの機能は使われなくなりました)
13 hidemaruhelp 秀丸エディタヘルプ
14 macrohelp 秀丸マクロヘルプ
15 overwriteswitch 上書き/挿入モード切り替え
16 readonlyswitch ファイルの書換え禁止/許可の切り替え
17 setmark カーソル行のマーク
18 showcode カーソルの文字コードの表示
19 showcharcount 文字数計算(V8.00以降)
20 showlineno 行番号の表示/非表示
21 tagjump タグジャンプ
22 redraw 秀丸エディタのウィンドウの再描画
23 browsemodeswitch 閲覧モードの切り替え
24 clist アウトライン解析のダイアログ(旧バージョンでの強調表示の一覧,関数一覧)
25 clearupdated 編集マークを全て消去して「(更新)」状態を解除
26 refreshtabstop タブストップのテキスト幅揃えを更新(V8.00以降)
tagjump、backtagjump、directtagjumpは、成功するとresult==yes、失敗するとresult==noとなります。他、エラーメッセージが出るような事態が発生した場合はresult==noとなり、そうでない場合はresult==yesです。
  directtagjumpで、「ダイレクトタグジャンプ飛び先指定」のダイアログでキャンセルされた場合はresult == -1となります。
「tagsファイルの作成」コマンドに相当するマクロ文はありません。
  hidetags.exeを起動すると、tagsファイルの作成を行うことができます。
  パラメータを指定して、条件をいろいろ指定できます。
  詳細は秀丸エディタヘルプの「秀tags」のページを参照してください。
  run文などで実行することでマクロから操作可能です。


11. アウトライン系文

アウトライン系文は、V6.00以降より使用できます。
  命令 機能
1 setcompatiblemode マクロの互換性の指示
2 fold 折りたたみ
3 unfold 展開
4 nextfoldable 次の折りたたみ可能行
5 prevfoldable 前の折りたたみ可能行
6 selectfoldable 折りたたみ可能行の範囲選択
7 foldall 全て折りたたみ
8 unfoldall 全て展開
9 rangeeditin 部分編集
10 rangeeditout 部分編集解除
11 nextoutlineitem 次の見出し
12 prevoutlineitem 前の見出し
13 showoutline アウトライン解析の枠表示/非表示
14 showoutlinebar 見出しバーの表示/非表示
15 showfoldingbar 折りたたみ用の余白表示/非表示
16 syncoutline アウトライン解析の枠同期
17 refreshoutline アウトライン解析を明示的に即更新する(V8.00以降)


メッセージ系

1 message メッセージボックスを出します。メッセージボックスはいわゆるインフォメーションアイコン&了解ボタンのスタイルで出ます。パラメータでメッセージの文字列を指定します。数値型の値は文字列型に変換して指定してください。
message "秀丸エディタです";
message str(100);
2 question  質問のメッセージを出します。メッセージボックスには「はい」と「いいえ」のボタンがあります。
question "これでいいですか?";
といった具合に使います。「はい」を選んだのか「いいえ」を選んだのかは、resultというキーワード で表現されます。if文と組みあわせて使います。
 「はい」を選ぶとresultは1になり、「いいえ」を選ぶと0となります。yesやnoのキーワードと組みあわせて条件判定すると便利です。
question "セーブしますか?";
if( result == yes ) {
save;
3 beep  beep文は、ピッという音を出します。
 最近のWindowsでは、コントロールパネルのサウンドで指定される「一般の警告音」が鳴ります。
4 play、playsync  play, playsync文は、パラメータで指定されたWAVファイルを再生します。play文はWAVファイルの再生の終了を待たずにマクロの実行を継続します。playsync文はWAVファイルの再生が終了するまで待ちます。
play "d:\\windows\\chord.wav";
5 debuginfo  debuginfo文には2つの使い方があります。
 debuginfo文のパラメータに、0または0以外の数値を指定した場合、debuginfo文は、デバッグメッセージの表示の禁止/許可を行います。0を指定した場合禁止され、0以外を指定した場合許可されます。マクロ実行直後は禁止になっています。
 debuginfo文のパラメータに文字列を指定した場合は、debuginfo文はOutputDebugString関数を使ってその文字列をデバッグアプリケーションに表示します。
 デバッグアプリケーションが常駐していない時にこの文を実行すると、文字列はデバッグ端末に送られます。デバッグアプリケーションもデバッグ端末もない場合はWindowsの動作がおかしくなることがあるので注意してください。
 デバッグアプリケーションは、フリーソフトでいろいろ公開されていたりするので、入手して使うことができます。「デバッガ」「OutputDebugString」等でWeb検索すると見付かるかもしれません。
 改行文字を出力したい場合は、"\x0A"を使って下さい。
debuginfo 1;
debuginfo "#a = " + str(#a) + "\x0a";
6 showvars  showvars文は、現在の変数の一覧をデバッグアプリケーションに表示します。
  実際に表示させるためには、debuginfo文でデバッグメッセージの表示が許可されている必要があります。
  参照:debuginfo
7 title title文は、秀丸エディタのウィンドウのキャプション(タイトルバー)の部分にメッセージを表示します。変更されたキャプションはウィンドウが切り替わっても保持されます。
 現在の秀丸エディタのキャプションだけを元に戻すには、title 0 を実行してください。他の秀丸エディタも含めてすべてのキャプションを元に戻すには、title 1を実行してください。
 マクロが終了するとキャプションはすべて自動的に元に戻ります。または、キャプションを設定した後でtitle -1を実行すると、マクロで設定したキャプションがマクロ終了時もそのまま残るようになります。
title "マクロ処理中です";
 title文の種類:
title 文字列   キャプションの設定
title 0   現在の秀丸エディタのキャプションを元に戻す
title 1   すべての秀丸エディタのキャプションを元に戻す
title -1   現在設定されているキャプションをマクロ終了時も残す
 さらに、第2パラメータを指定することで、ステータスバーや見出しバーの内容を変えることができます。(V6.00以降)
title 文字列,0   キャプションの設定
title 文字列,1   ステータスバーの設定
title 文字列,2   見出しバーの設定
title 文字列,3   タブモードのタブ名の設定
title "ステータスバーです", 1;
title -1, 1; //ステータスバーを維持する場合にも第2パラメータを指定
 参照:gettitle関数


プログラム実行系

1 run,runsync,runsync2  
2 runex  

マクロ制御系

1 endmacro, endmacroall  endmacro文は、現在のマクロの実行を終了します。現在のマクロがexecmacro文により呼び出された場合は呼び出し元のマクロの実行を続行します。
  endmacroall文は、execmacroの呼び出し元も含めてすべてのマクロの実行を終了させます。
 execmacroで呼ばれたマクロは、endmacroにパラメータを指定して、戻り値(文字列)を設定することができます。(V8.00以降)
  endmacroにパラメータを指定しない場合は、空の文字列を返したことになります。(V8.01以降)
  戻り値はexecmacroから復帰した後getresultexで取得できます。

question "続行しますか?";
if( result == no ) endmacro;
参照:execmacro文
参照:getresultex関数
2 execmacro  マクロの中から、さらに別のマクロを実行します。起動された側のマクロが終了すると現在のマクロの実行を続行します。
  パラメータでマクロのファイル名を指定してください。
  execmacroされたマクロからさらにexecmacroを実行する場合、execmacroのネストがあまり深くならないように注意してください。
 第2パラメータ以降を指定して、マクロに文字列を渡すこともできます。(V8.00以降)
  渡したパラメータは、呼ばれたマクロ側でgetarg関数で取得できます。
  指定できるパラメータは31個までです。
 execmacroで呼ばれたマクロは、endmacroにパラメータを指定して、戻り値(文字列)を設定することができます。
  戻り値はexecmacroから復帰した後getresultexで取得できます。(V8.00以降)

execmacro "test.mac";
参照:getarg関数 argcountキーワード
参照:getresultex関数
参照:endmacro文
3 disabledraw, enabledraw  disabledrawは画面の書き換えを禁止します。enabledrawは逆に画面書き換えを許可します。マクロ起動時は許可状態になっています。
 長い編集作業を短時間で終わらせたい場合に、まずdisabledrawして作業を開始し、編集が終わったらenabledrawすると効果的です。 ただし、enabledrawを実行するときに画面をすべて書き直すことになるので、短時間で終わる処理をdisabledraw/enabledrawで囲むとかえって処理速度が低下することに注意してください。
 disabledrawの状態は、ウィンドウごとに状態を覚えています。disabledrawしてから、setactivehidemaruなどをして他の秀丸エディタに移すとdisabledrawの状態は解除されるので注意が必要です。

disabledraw;
gofiletop;
beginsel;
gofileend;
cut;
enabledraw;
 disabledrawしたのにenabledrawを忘れたままマクロの実行が終了すると、自動的に画面をすべて書き換えます。
 enabledrawが実行された時、カーソルが画面のどの位置に表示されるかは秀丸エディタ側が適当に決めてしまいます。これをマクロ側で制御するには、enabledraw文のパラメータで画面の一番上の行番号(ワープロ的に計算した行番号)を指定してください。
例:(検索で見つけた文字列をウィンドウの中央に表示する場合)
disabledraw;
searchdown "abc";
enabledraw y - windowheight / 2;
 disabledraw中は、内部的にはウィンドウサイズをゼロとして高速に処理しています。enabledraw後にスクロール位置がずれるのもそのためです。rollup,rolldown等も正しいスクロール量でスクロールしません。
4 disablebreak, enablebreak  disablebreak文は、マクロの中断を禁止します。
 秀丸エディタのマクロは実行中にESCキーを入力したり、マウスでクリックしたりすると「中断しますか?」と聞いてくる仕様になっています。disablebreak文を実行すると、そのマクロでは中断を一切受け付けなくなります。
 enablebreak文はdisablebreakされた状態を解除します。(V8.00以降)
5 disableinvert, enableinvert  disableinvert文は、範囲選択のときの反転表示を禁止します。マクロ実行中の反転表示は目ざわりな場合が多いので、 その場合はあらかじめdisableinvertしてから範囲選択すれば、画面上では反転せずに範囲選択されます。enableinvertは、disableinvertを解除します。
6 ブロック 秀丸エディタのマクロでは、C言語と同様に '{'と'}'で複数のマクロコマンドをひとつにまとめることができます。ifやwhileと組み合わせて使います。

if( result == yes ) {
message "ABC";
#a = #a + 1;
}
7 if  if文は、その直後にある条件式が0以外の場合に次のコマンドを実行します。条件式が0で、かつ次のコマンドのうしろにelseがある場合は、elseに続くコマンドを実行します。

if( result == yes )
message "了解です";
else
message "取り消しです";
ブロック と組みあわせることもできます。

if( result == yes ) {
message "了解です";
endmacro;
} else {
down;
right;
}
 elseのうしろにifを並べることもできます。

if( result == 1 ) message "1";
else if( result == 2 ) message "2";
else if( result == 3 ) message "3";
else mesage "その他";
8 while  while文は、その直後にある条件式の値が0以外である間,処理をくりかえします。ブロック と組み合わせて使用できます。

#a = 10;
while( #a > 0 ) {
down;
#a = #a - 1;
}
 break文 ,continue文 との併用も可能です。while文はネスト(多重ループ)が可能ですが例えば2重ループを一気に抜ける場合はgoto文 を使用するようにしてください。
9 break  breakは、whileのループの中から強制的に外に出ます。二重のループの中で実行された場合はひとつ外側に抜け出ます。
  whileの外で実行するとエラーになります。

while( #a != 0 ) {
up;
if( !result ) break;
#a = #a - 1;
}
10 continue  continue文は、while文の先頭まで戻って条件式の評価からやりなおします。whileの外で実行するとエラーになります。

while( #a != 0 ) {
up;
if( !result ) continue;
#a = #a - 1;
}
11 goto文とラベル  マクロの処理は上から下へ順番に実行されますが、任意の場所に移動させる場合にgotoとラベルを使います。
 ラベルは、その名のとおり名札です。飛びたい先にラベルを置いておき、gotoでそのラベルを指定するとそこに飛びます。
 ラベルは、適当な英数字が指定できます。ラベルであることが分かるように後ろにコロンを付けください。コロンの後ろにセミコロンは必要ありません。

Label:
message "ABC";
goto Label;
12 サブルーチン  秀丸マクロでは、サブルーチンを使うことができます。サブルーチンは、call文で呼ばれます。サブルーチンからの復帰にはreturn文を使います。
 サブルーチンの中ではローカル変数を使うことができます。ローカル変数は、##または$$で始まる変数です。
 サブルーチンにはパラメータとして複数の値を渡すことができます。また、サブルーチンから復帰するときに、値をひとつだけ返すことができます。
 サブルーチンの名前は、ラベルで指定します。
 callは以下のように使います。
call ラベル名 [パラメータ1, パラメータ2, ・・・]
 パラメータは必要に応じて指定してください。ちなみにパラメータの型が文字列型か数値型かの区別はサブルーチンを呼ぶ側と呼ばれる側でしっかりと合わせておく必要があります。秀丸エディタは特に型チェックはしません。
  パラメータの数は9個までが上限です。
 呼ばれた側では、渡されたパラメータは以下のような変数で参照することができます。
1番目のパラメータ(文字列型の場合)   $$1
2番目のパラメータ(文字列型の場合)   $$2
1番目のパラメータ(数値型の場合)   ##1
2番目のパラメータ(数値型の場合)   ##2
以下同様・・・  
 returnするときには値を返すことができます。値を返すには、returnの後ろで値を指定します。文字列型を返すか数値型を返すかは呼び出し元と先とで合わせておく必要があります。
 呼び出した側で復帰値を見るには、##returnまたは$$returnという変数を使います。文字列型の場合は$$returnで、数値型の場合は##returnとなります。

call QuestionSub "テスト";
if( ##return ) beep;
endmacro;
QuestionSub:
question "問い合わせ:" + $$1;
return result;
 callされたサブルーチンからさらにサブルーチンを呼ぶこともできます。最高20回程度重複可能です。
13 disableerrormsg, enableerrormsg  disableerrormsg文は、各種のコマンドの中でエラーが発生してもエラーメッセージを表示しないようにします。
  enableerrormsg文は元に戻します。マクロ起動直後はenableになっています。
 各種のコマンドの中でのエラーとは、例えば以下のような例があります。
appendsaveで指定されたファイルが見つからなかった
showcliphistで、ユーザが何も取り出さずにダイアログを閉じた
その他、「エラー」というタイトルのメッセージボックスが表示される処理すべて
 disableerrormsgを実行しても、エラーが発生した場合にresult==falseになることは変わりありません。
  disableerrormsg文を実行した場合は以後エラーの処理を正しく行うようにしてください。
参照:
  seterrormode関数
  seterrormode文
14
disablehistory
 disablehistory文は、マクロ実行中、各種ヒストリを取らないように指示する文です。(V8.00以降)
 引数に以下の値の論理和した値を入れて指示します。
0x0001 ファイルヒストリ
0x0002 フォルダヒストリ
0x0004 検索ヒストリ
0x0008 置換ヒストリ
0x0010 grepファイルヒストリ
0x0020 プログラム実行ヒストリ
0x0040 クリップボード履歴
0x0080 /nオプション,またはopenfileのnoaddhistと同じ扱い

0x0001と0x0080の違い
0x0001 は、マクロ実行中に開いたり閉じたりしたときだけにファイルヒストリに残らなくなり、マクロが終了した後にファイルを閉じるとヒストリに残ります。
0x0080 は、マクロ実行中に開いたファイルは、マクロが終了した後もヒストリに残らなくなります。
例:
disablehistory 0x7f;


入力系

1 inputpos  inputpos文は、ユーザからカーソル位置を入力してもらうための文です。
 この文を実行すると、ユーザはリターンキーを押すまでカーソルを自由に動かせるようになります。リターンキーを押すと、inputposは処理を終了します。
 inputpos実行中は、ウィンドウのキャプションに文字列を表示します。表示する文字列はinputposコマンドのパラメータで指定してください。

inputpos "削除の開始位置を指定してください。";
 ユーザがカーソル移動した後の位置は、キーワードxとyで参照することができます。

inputpos "削除の開始位置を指定してください。";
#startx = x;
#starty = y;
2 menu, mousemenu  menu, mousemenu, menuarray, mousemenuarray文はポップアップメニューを表示します。ユーザが選択したメニューはresultに設定されます。
 menu, menuarray文は、文字カーソルの近くにメニューを表示し、mousemenu, mousemenuarray文はマウスカーソルの近くにメニューを表示します。
 menu, mousemenu文は、以下のようにメニュー項目の文字列をコンマで区切っていくつでも指定することができます。画面に入りきらないくらい項目が多い場合は自動的に折り返して表示されます。
menu 文字列1, 文字列2, ……;
 1番目の項目が選ばれるとresultは1になり、以下同様に2,3……という値になります。ユーザがESCキーなどで取り消した場合のresultは0になります。

menu "細い線", "太い線", "*マーク";
if( result == 0 ) endmacro;
else if( result == 1 ) {
$char = "\x84\x9F";
} else if( result == 2 ) {
$char = "\x84\xAA";
} else {
$char = "*";
}
 menuarray, mousemenuarray文は、配列変数に格納されている値をメニュー項目とみなしてメニューをします。第1パラメータで配列変数の名前、第2パラメータで項目の数を指定します。

menuarray $a, 10;
 この例の場合だと、$a[0]から$a[9]の10個の項目がメニューになって表示されます。第1パラメータには文字列変数の名前以外指定できません。
 "\x01"をいう文字列を指定すると、セパレータを入れることができます。(V8.00以降)
3 input関数  s1をメッセージとして表示し、ユーザから文字列を入力してもらい、それをそのまま返します。s2は、デフォルトの値としてユーザが入力するエディットコントロールの中に最初から表示されます。
 s2は省略できます。
 返す値は文字列型です。
4 inputchar関数  s1をタイトルバーに表示し、ユーザから文字を入力してもらい、その文字コードを返します。入力した文字は画面には表示されません。カーソル移動キーが押された場合は文字コードは、
左   0x1C
上   0x1D
右   0x1E
下   0x1F
となります。
参照: iskeydown  keypressed
5 iskeydown関数  指定されたキーの状態を取得する関数です。
  n1にキーコードを入れて呼び出すと、そのキーが押されている場合は 1、そうでない場合は 0 を返します。
  主なキーコードは以下の通りです。このキーコードは、inputcharが返す値とは違う値なので注意してください。
Shift   0x10
Ctrl   0x11
Alt   0x12
左   0x25
上   0x26
右   0x27
下   0x28
0〜9   0x30〜0x39
A〜Z   0x41〜0x5A
 上記にないキーコードは、自分で調べてください。→調べるマクロ
  実はこの関数は、WindowsのAPIであるGetKeyState()を呼び出しているだけです。開発者の方は、APIのヘルプの仮想キーコードの一覧を見るといいです。
 この関数を利用すれば、キー割り当てで、たくさんのキーに同じマクロを割り当ててもマクロファイル内で分岐する処理が可能になります。
  たとえば、Ctrl+上,下,左,右のキーに全て「マクロ1」を割り当てます。そして、「マクロ1」にはtest.macを登録します。そして、test.mac内部は、
if( iskeydown(0x25) ) { 「←」の処理 }
if( iskeydown(0x26) ) { 「↑」の処理 }
if( iskeydown(0x27) ) { 「→」の処理 }
if( iskeydown(0x28) ) { 「↓」の処理 }
 というふうにすれば、Ctrl + 矢印キー が押されたときの処理は、すべてtest.macが管理できることになります。
 注意:マクロ起動直後のキー状態が取得できるのは、マクロ実行開始から1秒以内です。
  また、1秒以内であっても以下の関数or文を呼んだ後では起動直後のキー状態は取得できません。
  keypressed, ddewaitadvice, localgrep, runsync, menu系文
 第2パラメータで、取得する方法を指定できます。(V6.00以降)
  第2パラメータに 0 を指定すると、従来通りの動作です。1 を指定すると、キーのトグル状態を取得できます。
  CapsLockの状態を取得するには、以下のようにします。
if( iskeydown( 0x14, 1 ) ) { 「CapsLock」が有効のときの処理 }

参照: inputchar  keypressed


関数

1 leftstr( s1, n1 ) 文字列の左側部分  s1の左側のn1文字を返します。全角文字は2文字として数えます。
 s1の長さがn1より小さい場合は、s1がそのまま返されます。
 返す値は文字列型です。
2 rightstr( s1, n1 ) 文字列の右側部分  s1の右側のn1文字を返します。s1の長さがn1より小さい場合は、s1がそのまま返されます。
 返す値は文字列型です。
3 midstr( s1, n1, n2 ) 文字列の中央部分  s1の左側からn1番目のn2文字を返します。n1は0から数えてください。n1が0の場合はleftstr(s1,n2)と同じ結果となります。
 返す値は文字列型です。
 第3パラメータを省略すると、n1の文字以降の全ての文字を返します。(V8.00以降)
4 strlen( s1 ) 文字列の長さ  str1の長さを返します。
 全角文字は2文字として数えます。
 返す値は数値型です。
5 gettext( x1, y1, x2, y2, n1 ) 文字列取り込み  現在編集しているファイルのx1,y1からx2,y2の範囲にある文字列を返します。文字列の長さが長すぎるとエラーになります。
 x,y座標の指定のしかたはmoveto文と同じです。
 途中に改行コードが含まれる場合、"\x0d\x0a"として取得します。"\n"と同じではないので注意してください。"\n"は"\x0a"と同じです。
 第5パラメータn1に1を指定すると、範囲選択を維持することができます。(V5.00以降)
 返す値は文字列型です。
6 gettext2( c1, l1, c2, l2, n1 ) 文字列取り込み(columnとlinenoで指定)  gettextのカラム位置,エディタ的に計算した行番号で指定するバージョンです。(V5.00以降)
7 char( n1 ) 数値から文字への変換  n1の文字コードの文字を文字列にして返します。漢字のコードを指定すれば漢字の文字列になります。
  返す値は文字列型です。

char( 0x41 ) … "A"が返ってきます。
8 ascii( s1 ) 文字から数値への変換  s1の先頭の文字の文字コード(数値)を返します。charと逆の関数です。
 返す値は数値型です。
9 unichar( n1 ) 数値から文字への変換(Unicode版)  char関数のUnicode版です。(V5.10以降)
  n1のUnicodeの値を文字列にして返します。
  返す値は文字列型です。

unichar( 0x3042 ) … "あ"が返ってきます。
10 unicode( s1 ) 文字から数値への変換(Unicode版)  ascii関数のUnicode版です。(V5.10以降)
 s1の先頭の文字のUnicodeの値を返します。unicharと逆の関数です。
 返す値は数値型です。
11 str( n1 ) 数値を10進数の文字列に変換  n1を文字列に変換します。例えばn1が100の場合,返す値は"100"となります。
  返す値は文字列型です。
参照:
val関数
12 val( s1 ) 文字列を数値に変換(10進数または16進数)  s1を数値に変換します。例えばs1が"100"の場合,返す値は100となります。
  16進数の文字列も指定できます。s1を"0x100"にすると、返す値は256となります。
  数値に変換できない場合は0が返ります。
  返す値は数値型です。
参照:
str関数
hex関数
13 hex( n1 ) 数値を16進数の文字列に変換  n1を16進数の文字列に変換します。例えばn1が123の場合,返す値は"7B"となります。
 返す値は文字列型です。

 64bit版:
 64bit版では、32bitに切り詰められた文字列が返ります。

参照:
val関数
14 strstr( s1, s2 ) 文字列から文字列を検索  s1からs2を検索し、見つかった場合はその位置を返します。
 先頭が0です。見つからなかった場合は-1を返します。
 返す値は数値型です。

 第3パラメータに数値を指定すると、s1の先頭の0から数えたどの位置から検索するかを指定することができます。(V8.00以降)
15 strrstr( s1, s2 ) 文字列の後ろから文字列を検索(V8.00以降)  s1の文字列の最後から最初の方向に向かってs2を検索し、見つかった場合はその位置を返します。(V8.00以降)
 先頭が0です。見つからなかった場合は-1を返します。
 返す値は数値型です。

 第3パラメータに数値を指定すると、s1の先頭の0から数えたどの位置から検索するかを指定することができます。
16 getinistr( s1, s2, s3 ) iniファイルから文字列取得  getinistrは、INIファイルから文字列を取りだします。s1がiniファイル名、s2がセクション名、s3がキー名です。
  返す値は文字列型です。
 getininumは、INIファイルから数値を取りだします。s1がiniファイル名、s2がセクション名、s3がキー名です。取り出した値が数値に変換不能な場合は0が返ってきます。
  返す値は数値型です。
 INIファイル名は、ファイル名だけを書くとWindowsフォルダが自動選択されます。
  フルパスで書くと、指定したフォルダが選択されます。
  また、拡張子が.iniである必要はなく、どんな拡張子でもかまいません。
 iniファイル名を「hidemaru.ini」にした場合、実際にiniファイルからは読み込まず、レジストリから変換して読み込むようになります。これは、16bit版秀丸エディタとの互換のためだけにある機能で、秀丸エディタの設定を読み込む場合はgetregstrまたはgetregnumを使ってください。
参照:writeinistr, writeininum
17 getininum( s1, s2, s3 ) iniファイルから数値取得  getinistrは、INIファイルから文字列を取りだします。s1がiniファイル名、s2がセクション名、s3がキー名です。
  返す値は文字列型です。
 getininumは、INIファイルから数値を取りだします。s1がiniファイル名、s2がセクション名、s3がキー名です。取り出した値が数値に変換不能な場合は0が返ってきます。
  返す値は数値型です。
 INIファイル名は、ファイル名だけを書くとWindowsフォルダが自動選択されます。
  フルパスで書くと、指定したフォルダが選択されます。
  また、拡張子が.iniである必要はなく、どんな拡張子でもかまいません。
 iniファイル名を「hidemaru.ini」にした場合、実際にiniファイルからは読み込まず、レジストリから変換して読み込むようになります。これは、16bit版秀丸エディタとの互換のためだけにある機能で、秀丸エディタの設定を読み込む場合はgetregstrまたはgetregnumを使ってください。
参照:writeinistr, writeininum
18 input( s1, s2 ) ユーザからの文字列入力  s1をメッセージとして表示し、ユーザから文字列を入力してもらい、それをそのまま返します。s2は、デフォルトの値としてユーザが入力するエディットコントロールの中に最初から表示されます。
 s2は省略できます。
 返す値は文字列型です。
19 inputchar( s1 ) ユーザからのキー入力  s1をタイトルバーに表示し、ユーザから文字を入力してもらい、その文字コードを返します。入力した文字は画面には表示されません。カーソル移動キーが押された場合は文字コードは、
左   0x1C
上   0x1D
右   0x1E
下   0x1F
となります。
参照: iskeydown  keypressed
20 iskeydown( n1 ) キーボードの状態を取得  指定されたキーの状態を取得する関数です。
  n1にキーコードを入れて呼び出すと、そのキーが押されている場合は 1、そうでない場合は 0 を返します。
  主なキーコードは以下の通りです。このキーコードは、inputcharが返す値とは違う値なので注意してください。
Shift   0x10
Ctrl   0x11
Alt   0x12
左   0x25
上   0x26
右   0x27
下   0x28
0〜9   0x30〜0x39
A〜Z   0x41〜0x5A
 上記にないキーコードは、自分で調べてください。→調べるマクロ
  実はこの関数は、WindowsのAPIであるGetKeyState()を呼び出しているだけです。開発者の方は、APIのヘルプの仮想キーコードの一覧を見るといいです。
 この関数を利用すれば、キー割り当てで、たくさんのキーに同じマクロを割り当ててもマクロファイル内で分岐する処理が可能になります。
  たとえば、Ctrl+上,下,左,右のキーに全て「マクロ1」を割り当てます。そして、「マクロ1」にはtest.macを登録します。そして、test.mac内部は、
if( iskeydown(0x25) ) { 「←」の処理 }
if( iskeydown(0x26) ) { 「↑」の処理 }
if( iskeydown(0x27) ) { 「→」の処理 }
if( iskeydown(0x28) ) { 「↓」の処理 }
 というふうにすれば、Ctrl + 矢印キー が押されたときの処理は、すべてtest.macが管理できることになります。
 注意:マクロ起動直後のキー状態が取得できるのは、マクロ実行開始から1秒以内です。
  また、1秒以内であっても以下の関数or文を呼んだ後では起動直後のキー状態は取得できません。
  keypressed, ddewaitadvice, localgrep, runsync, menu系文
 第2パラメータで、取得する方法を指定できます。(V6.00以降)
  第2パラメータに 0 を指定すると、従来通りの動作です。1 を指定すると、キーのトグル状態を取得できます。
  CapsLockの状態を取得するには、以下のようにします。
if( iskeydown( 0x14, 1 ) ) { 「CapsLock」が有効のときの処理 }

参照: inputchar  keypressed
21 getenv( s1 ) DOS環境変数の取得  s1に対応する環境変数の値を返します。

$path = getenv( "include" );
22 findhidemaru( s1 ) 秀丸エディタの検索  
23 hidemaruhandle( n1 ) 秀丸エディタのハンドルの取得  
24 hidemaruorder( n1 ) 秀丸エディタの番号の取得  
25 dderequest( s1 ) DDEのデータの要求  
26 findwindow( s1, s2 ) ウィンドウの検索  
27 findwindowclass( s1 ) ウィンドウをクラス名で検索  
28 sendmessage( n1, n2, n3, n4 ) メッセージの送信  
29 existfile( s1 ) ファイルが存在するかどうか  s1というファイルが存在するかどうかを返します。
 存在する場合はtrue、存在しない場合はfalseです。
 返す値は数値型です。

 ファイルにはワイルドカードを指定することもできます。
 例:
 #a = existfile( "c:\\folder\\*.*" );

 第二パラメータに1を指定して、ファイルの属性を得ることができます。(V7.00以降)
 if( (existfile( $file, 1 ) & 0x00000010) != 0 ) {...}
 というように使います。
 返す値は以下の値をOR演算した組み合わせになります。
 
0x00000001 読み取り専用
0x00000002 隠しファイル
0x00000004 システムファイル
0x00000010 ディレクトリ(フォルダ)
0x00000020 アーカイブ
30 getregstr( s1 ) レジストリから文字列取得  オープンされたレジストリから値を取り出して指定された変数に代入します。
  s1に値の名前を指定します。
 getregstrは、REG_SZ型の値を取り出します。返す値は文字列型です。
  getregnumは、REG_DWORD型の値を取り出します。返す値は数値型です。
  標準の値を獲得したい場合は、空の文字列("")を指定して呼んでください。
 値を書き込むには、writeregstr, writeregnumを使います。
 REG_BINARY型の値を取り出すには、getregbinaryを使います。

$s = getregstr( "Path" );
#n = getregnum( "Count" );
31 getregnum( s1 ) レジストリから数値取得  オープンされたレジストリから値を取り出して指定された変数に代入します。
  s1に値の名前を指定します。
 getregstrは、REG_SZ型の値を取り出します。返す値は文字列型です。
  getregnumは、REG_DWORD型の値を取り出します。返す値は数値型です。
  標準の値を獲得したい場合は、空の文字列("")を指定して呼んでください。
 値を書き込むには、writeregstr, writeregnumを使います。
 REG_BINARY型の値を取り出すには、getregbinaryを使います。

$s = getregstr( "Path" );
#n = getregnum( "Count" );
32 getregbinary( s1, n1, n2 ) レジストリからバイナリ値取得(V8.00以降)  オープンされたレジストリからバイナリ値を取り出して指定された変数に代入します。(V8.00以降)
  s1に値の名前を指定します。
  n1には0から数えた何バイト目から取得するかを指定します。
  n2には何バイト分取得するかのサイズを指定します。
 getregbinaryは、REG_BINARY型の値を取り出します。
  返す値は文字列型で、16進数の文字列として、1バイトあたり2文字の文字列で返します。
 値を書き込むにはwriteregbinaryを使います。
 REG_SZ型またはREG_DWORD型の値を取り出すには、getregstr,getregnumを使います。

$s = getregbinary( "TabEditMouse", 0, 10 );
33 getconfig( s1 ) ファイルタイプ別の設定の取得  ファイルタイプ別の設定の値の取得をします。s1の名前はレジストリ互換です。
  この名前はconfig "x"で指定できる名前と同じものを指定できます。(getconfigのときは 頭についている x は不要です )
  レジストリに保存されていない(一時的な設定) の値も取得できます。
  返す値は基本的に文字列型ですが、文字列としても数値としても扱うことができます。

message getconfig( "Font" );
message getconfig( "Tab" );
message getconfig( "FreeCursor" );
message getconfig( "xFont" ); //失敗します。xは書かなくていいです。
34 getconfigcolor( n1, n2 ) ファイルタイプ別の設定のカラーの取得  getconfigcolor関数は、ファイルタイプ別の設定のカラーを取得します。
  n1,n2はconfigcolorのn1,n2と同じです。
  返す値は数値で、configcolorのn3と同じです。
 文字色/背景色で透明が指定できる種類の場合は特殊になっていて、設定と取得で値が異なります。
  configcolorでは 0x02000000 を指定します。getconfigcolorでは0xffffffffが返ります。
 透明を含む場合に実際に表示されている色は、getcolormarkerで取得することができます。
 カーソル行の色はgetconfig( "CurLineColor" )またはgetconfig( "CurLineColorEx" )で取得できます。
35 getfilehist( n1 ) ファイルヒストリの取得  ファイルヒストリの文字列を取得します。n1には、0からはじまるヒストリの番号を入れます。
 第2パラメータに 1 を指定すると、ヒストリに常駐しているかどうかを取得できます。(V6.00以降)
  文字列で "0" か "1" かが返ります。
 参照:setfilehist
36 getpathhist( n1 ) フォルダヒストリの取得  フォルダヒストリの文字列を取得します。n1には、0からはじまるヒストリの番号を入れます。
 参照:setpathhist
37 getsearchhist( n1 ) 検索ヒストリの取得  検索ヒストリの文字列を取得します。n1には、0からはじまるヒストリの番号を入れます。
 参照:setsearchhist
38 getreplacehist( n1 ) 置換ヒストリの取得  置換ヒストリの文字列を取得します。n1には、0からはじまるヒストリの番号を入れます。
 参照:setreplacehist
39 gettagsfile( n1 ) tagsファイル名の取得  tagsファイルのファイル名をフルパスで取得します。(V4.10以降)
 tagsファイルが複数指定されている場合は、n1に0からはじまる番号を指定します。
 動作環境で上の階層もチェックするようになっている場合は、上の階層をチェックして存在するファイルのフルパスを返します。
 ファイルが存在しない場合は、なにもない文字列を返します。
 返す値は文字列型です。
40 columntox( c1, l1 ) カラム位置からx座標への変換  カラム位置からx座標への変換をします。(V5.00以降)
 c1はカラム位置、l1は行番号を指定します。
 返す値は数値型です。
41 linenotoy( c1, l1 ) 行番号からy座標への変換  行番号からy座標への変換。(V5.00以降)
 c1はカラム位置、l1は行番号を指定します。
 返す値は数値型です。
42 xtocolumn( x1, y1 ) x座標からカラム位置への変換  x座標からカラム位置への変換をします。(V5.00以降)
 x1はx座標、y1はy座標を指定します。
 返す値は数値型です。
43 ytolineno( x1, y1 ) y座標から行番号への変換  y座標から行番号への変換をします。(V5.00以降)
 x1はx座標、y1はy座標を指定します。
 x座標は本当は計算には必要ありませんが、他の変換関数と合わせています。
 返す値は数値型です。
44 gettabhandle( n1, n2, n3 ) タブモードのとき各グループ・各タブのウィンドウハンドルの取得  タブモードのとき、各タブのウィンドウハンドルを取得します。(V5.00以降)
  グループとタブの順番を指定して、二次元配列を扱うかのように取得することができます。
 n1は、n2の値がグループの順番かどうかを指定します。
  n1が0のとき、n2はグループIDを示します。
  n1が1のとき、n2はグループの順番を示します。
  n3は、グループ内のタブの順番を示します。
  返す値は、秀丸エディタのウィンドウハンドルです。
 参照:秀丸エディタ管理(タブ編)
45 getcurrenttab( n1, n1 ) タブモードのとき各グループの選択されているタブの取得  タブモードのとき、グループ内の選択されているタブのウィンドウハンドルを取得します。(V5.00以降)
 n1は、n2の値がグループの順番かどうかを指定します。
  n1が0のとき、n2はグループIDを示します。
  n1が1のとき、n2はグループの順番を示します。
  返す値は、秀丸エディタのウィンドウハンドルです。
 参照:秀丸エディタ管理(タブ編)
46 tolower( s1 ) 小文字への変換(V6.50以降)  tolowerは小文字に変換します。(V6.50以降)
 toupperは大文字に変換します。(V6.50以降)

 第一パラメータには文字列を渡します。

 第二パラメータに対象を指定します。(V7.04以降)
 以下の値のOR演算した値を指定できます。

  0x01 半角アルファベットを対象にする。
  0x02 全角アルファベットを対象にする。

 第二パラメータを省略すると、0x01と同じになり、半角アルファベットだけが対象になります。

例:
 $a = "hankakuzenkaku";   $b = toupper( $a, 0x01 | 0x02 );  
47 toupper( s1 ) 大文字への変換(V6.50以降)  tolowerは小文字に変換します。(V6.50以降)
 toupperは大文字に変換します。(V6.50以降)

 第一パラメータには文字列を渡します。

 第二パラメータに対象を指定します。(V7.04以降)
 以下の値のOR演算した値を指定できます。

  0x01 半角アルファベットを対象にする。
  0x02 全角アルファベットを対象にする。

 第二パラメータを省略すると、0x01と同じになり、半角アルファベットだけが対象になります。

例:
 $a = "hankakuzenkaku";   $b = toupper( $a, 0x01 | 0x02 );  
48 filter( s1, s2, s3, s4 ) 変換モジュールを使って文字列変数を変換(V6.50以降)  変換モジュールを使って、文字列変数を変換します。(V6.50以降)
  s1からs3までの使い方は filter文 と同様です。
  変換する文字列をs4で指定します。
  変換された文字列を返します。
49 geteventparam( n ) 自動起動マクロで呼び出されたときの条件(V6.50以降)  
50 getcolormarker( n1 ) カラーマーカーの情報を取得(V7.00以降)  
51 gettitle( n1 ) キャプションや見出しバーなど情報を取得(V7.00以降)  
52 getarg( n1 ) 起動オプション/aやexecmacroで渡す引数を取得(V8.00以降)  
53 getstaticvariable( s1, n1 ) 静的な変数を取得(V8.00以降)  
54 seterrormode( n1, n2 ) エラーモードの設定(V8.00以降)  
55 getresultex( n1 ) 詳細なエラー情報などの取得(V8.00以降)  
56 getclipboardinfo( n1 ) クリップボードの状態を取得(V8.00以降)  
57 charcount( n1 ) 文字数を数える(V8.00以降)  
58 wcsleftstr( s1, n1 ) Unicode版の文字列の左側部分(V8.00以降)  
59 wcsrightstr( s1, n1 ) Unicode版の文字列の右側部分(V8.00以降)  
60 wcsmidstr( s1, n1, n2 ) Unicode版の文字列の中央部分(V8.00以降)  
61 wcslen( s1 ) Unicode版の文字列の長さ(V8.00以降)  
62 wcsstrstr( s1, s2 ) Unicode版の文字列から文字列を検索(V8.00以降)  
63 wcsstrrstr( s1, s2 ) Unicode版の文字列の後ろから文字列を検索(V8.00以降)  
64 byteindex_to_charindex( s1, n1 ) バイト位置から文字位置の変換(V8.00以降)  
65 charindex_to_byteindex( s1, n1 ) 文字位置からバイト位置の変換(V8.00以降)  
66 wideindex_to_charindex( s1, n1 ) Unicode文字位置から文字位置の変換(V8.00以降)  
67 charindex_to_wideindex( s1, n1 ) 文字位置からUnicode文字位置の変換(V8.00以降)  
ツイート












































inserted by FC2 system