=== EdTexマクロ仕様 ===

=== EdLeafマクロ仕様 ===



=== EdTexマクロ仕様 === 
									Rev.C 2003/02/26
■ EdTex Ver3.03 以降が対象です。


1.規則
 1行1命令

 「//」がある場合は、それ以降、行末まではコメント

 CHAR sss[80]等は、最大80文字(バイト)の文字列を意味

 文字列は、""で囲んで指定する。""中には、次の文字は、
  「\」付きで指定する。
	'\'  ---> \\
	改行 ---> \r\n
	'"'  ---> \"
 DWORD, LONGの部分は、数字で指定する(16進数の場合は、0x5a等の形式で)。

 BOOLの部分は、TRUE, またはFALSEで指定

2.補足
 CallMacro, IfStringFound, IfStringNotFound以外の通常の命令は、
「操作の記録」(操作の記録開始, .., 操作の保存)で記述できます。

 従って、マクロを作成する場合、「操作の記録」でマクロの骨組みを作成し、
 それをベースにテキストエディタで編集という方法が簡単です。なお、もちろん
 「操作の記録」だけで済む場合は、テキストエディタで編集する必要はありません。

 なお、テキスト形式で保存できない命令を含む場合、操作記録後の保存時、エラー
 メッセージボックスが表示されます。


3.標準命令一覧

NewDocument( CHAR fmTitle[80] ) ;	// fmTitle=書式名、「NewDocument( "" ) ;」は、書式を選択して開くことを意味する。
CloseDocument( ) ;
SaveDocumentToFile( ) ;
CopyString( ) ;
PasteString( ) ;
CutString( ) ;
Undo( ) ;
Redo( ) ;
ResetAllMarkedLines( ) ;
JumpToNextMarkedLine( ) ;
JumpToPrevMarkedLine( ) ;
ToggleMarkedLine( ) ;
ResetAllMarkedWords( ) ;
JumpToNextMarkedWord( ) ;
JumpToPrevMarkedWord( ) ;
ToggleMarkedWord( ) ;
ConvSpaceToTab( ) ;
ConvTabToSpace( ) ;
MoveToCenter( ) ;
MoveToRight( ) ;
SelectAllString( ) ;
AddCopyString( ) ;
AddCutString( ) ;
PrintPreview( ) ;
Print( ) ;
ToggleWriteProtect( ) ;
JumpToCurrentTag( ) ;
JumpToNextTag( ) ;
JumpToPrevTag( ) ;
ActivateTagWindow( ) ;
ConvInvertCase( ) ;
ConvUpperCase( ) ;
ConvLowerCase( ) ;
ConvCapitalize( ) ;
ConvHanToZen( ) ;
ConvZenToHan( ) ;
ConvHiraToZenKata( ) ;
ConvZenKataToHira( ) ;
ConvSplitLines( ) ;
ConvJoinLines( ) ;
InsertDate( ) ;
InsertTime( ) ;
Indent( ) ;
UnIndent( ) ;
MoveToLeft( ) ;
JumpToCorrespondingBracket( ) ;
CloseAllFiles( ) ;
SaveAllFiles( ) ;
DispFileListWnd( ) ;
PasteSelected( ) ;
PasteCurrentHistory( ) ;
PasteNextHistory( ) ;
PastePrevHistory( ) ;
FormSelection( ) ;
SetAnchor( ) ;
SelectAnchorArea( ) ;
ToggleAutoForm( ) ;
ToggleFormIndent( ) ;
TogglePadHanSpace( ) ;
PasteByHistoryDialog( ) ;
CloseFileNoConfirmation( ) ;
TerminateEdTex( ) ;
ClearClipboard( ) ;
SaveCurrentAutoFormSwitch( ) ;
RestoreAutoFormSwitch( ) ;
OnAutoForm( ) ;
OffAutoForm( ) ;
SaveCurrentFindCondition( ) ;
RestoreCurrentFindCondition( ) ;

OpenFileDocument( CHAR filePath[256] , BOOL bReadOnly ) ;	

SaveDocumentToFileAs( CHAR filePath[256] ) ;

SetPrintPageLayout( DWORD leftMargin , DWORD topMargin , DWORD rightMargin , DWORD bottomMargin , DWORD initialPageNum , DWORD initialLineNum , BOOL bPrintLineNum , DWORD columnSpacesIndex , DWORD lineSpacesIndex , BOOL bNoPrintHeader , DWORD headerPos , CHAR header[80] , BOOL bNoPrintFooter , DWORD footerPos , CHAR footer[80] , LONG lfHeight(=Point値!!!), LONG lfWidth , LONG lfEscapement , LONG lfOrientation , LONG lfWeight , BYTE lfItalic , BYTE lfUnderline , BYTE lfStrikeOut , BYTE lfCharSet , BYTE lfOutPrecision , BYTE lfClipPrecision , BYTE lfQuality , BYTE lfPitchAndFamily , CHAR lfFaceName[32] ) ;

JumpToTheLine( DWORD lineno ) ;		// lineno=0〜,1行目は0

InsertStringEx( DWORD pos , CHAR str[8000] ) ;	

// pos=0:カーソル位置、1:行頭、2:行末, 3:クリップボードの行頭, 4:クリップボードの文頭、5:クリップボードの文末

ConvFreely( BOOL bToNewDoc , BOOL bEscapesequence , DWORD ftype1 , CHAR fstr1[80] , DWORD ttype1 , CHAR tstr1[80] , DWORD ftype2 , CHAR fstr2[80] , DWORD ttype2 , CHAR tstr2[80] , DWORD ftype3 , CHAR fstr3[80] , DWORD ttype3 , CHAR tstr3[80] , DWORD ftype4 , CHAR fstr4[80] , DWORD ttype4 , CHAR tstr4[80] , DWORD ftype5 , CHAR fstr5[80] , DWORD ttype5 , CHAR tstr5[80] , DWORD ftype6 , CHAR fstr6[80] , DWORD ttype6 , CHAR tstr6[80] , DWORD ftype7 , CHAR fstr7[80] , DWORD ttype7 , CHAR tstr7[80] , DWORD ftype8 , CHAR fstr8[80] , DWORD ttype8 , CHAR tstr8[80] , DWORD ftype9 , CHAR fstr9[80] , DWORD ttype9 , CHAR tstr9[80] , DWORD ftype10 , CHAR fstr10[80] , DWORD ttype10 , CHAR tstr10[80] ) ;

// ttype1, ftype1等は、次の値を指定
// 1  fstr1, tstr1 等で、直接、変換文字列を指定
// 11 半角空白 (この場合は、fstr1, tstr1 等は、「""」と記述します。以下同様)。
// 12 半角英記号
// 13 半角数字
// 14 半角大英字
// 15 半角小英字
// 16 半角カナ記号
// 17 半角カタカナ
// 21 全角空白
// 22 全角英記号
// 23 全角数字
// 24 全角英字大文字
// 25 全角英字小文字
// 26 全角カナ記号
// 27 全角カタカナ
// 28 全角ひらがな
// 0  データなし(これ以降のパラメータは、処理されません)。

KeyDown( DWORD vkey , DWORD flag ) ;	

// vKey には、次のシンボルをそのまま使用します。
//		VK_HOME
//		VK_END
//		VK_PRIOR
//		VK_NEXT
//		VK_RIGHT
//		VK_LEFT
//		VK_DOWN
//		VK_UP
//		VK_INSERT
//		VK_ESCAPE
//
// flag 
//		Shift 		--- 1
//		Ctrl  		--- 2
//		Ctrl+Shift  --- 3

InsertString( CHAR string[1000] ) ;

DeleteString( ) ;

FindString( BOOL bNext , BOOL bCase , BOOL bDBCase , BOOL bRegular , BOOL bEscapeSequence , BOOL bAndOr , BOOL bWholeWord , BOOL bRound , BOOL bFindInFolder , CHAR findString[80] ) ;

ReplaceString( DWORD action , BOOL bCase , BOOL bDBCase , BOOL bRegular , BOOL bEscapeSequence , BOOL bAndOr , BOOL bWholeWord , BOOL bRound , CHAR findString[80] , CHAR replaceString[80] ) ;

// action=0:次を検索、1:置換して次に、2:すべて置換

FindNextPrev( BOOL bNext , CHAR findString[80] ) ;

OpenSetToClipboardDialog( CHAR title[80] ) ;	// title=ダイアログのタイトル

RunExternalTool( CHAR path[250] , CHAR parameter[250] , CHAR directory[250] , LONG ReceiveType_bIcon , LONG SendType_bDosCommand , BOOL DataType_bRedirect ) ;
# ReceiveType_bIcon等は、上位ワードがReceiveType、下位ワードがbIcon の意味。


4.拡張命令一覧

拡張命令は、操作記録では作成できません。テキストエディタで、直接追加します。

IfStringFound( LONG count ) ;	// 以前の文字列検索でヒットした場合、この後の命令count個の実行をスキップ。なお、負値の場合には、その個数分前の命令に戻ります。

IfStringNotFound( LONG count ) ;	// 以前の文字列検索でヒットしなかった場合、この後の命令count個の実行をスキップ。なお、負値の場合には、その個数分前の命令に戻ります。

CallMacro( CHAR macroName[80] ) ;	// macroNameで指定のマクロを呼出します。








=== EdLeafマクロ仕様 === 
									Rev.A 2002/09/25
■ EdLeaf Ver1.00 以降が対象です。

■ 下記の点以外は、EdTexと同様です。