disabledraw; call deleteBetweenTextAndTab; while (##return == false){ call deleteBetweenTextAndTab; call isFileEnd; } enabledraw; endmacro; //ページ番号の前にTabを入れるサブルーチン deleteBetweenTextAndTab: golineend; searchup " "; #deleteend = x; call lastPreviousAlphabet; #deletetop = ##return; beginsel; moveto #deleteend, y; endsel; delete; down; return; //現在位置からさかのぼって最初のAlphabetの後の位置を取得するサブルーチン lastPreviousAlphabet: call isAlphabet; while(##return == false){ left; call isAlphabet; } right; return x; //カーソル位置の文字がアルファベットか判定するサブルーチン isAlphabet: if(code >= 0x41){ #r = true; }else{ #r = false; } return #r; //カーソル位置の文字が数値化判定するサブルーチン isNum: if(code >= 0x30 && code <= 0x39){ #r = true; }else{ #r = false; } return #r; //現在位置がファイルの最終行か判定するサブルーチン //行の移動はしない。 isFileEnd: #currentline = y; gofileend; #endline = y; moveto 0,#currentline; if(#currentline == #endline){ #r = true; }else{ #r = false; } return #r;