選択部直前の空白行〜直後の空白行まで(段落)を、不要部と判断し削除します。空白行を段落の判定に使用し、カーソルが位置付いている部分から段落の範囲選択を行い削除します(段落全体の選択は不要です)。
※上記イメージは改行マークを表示した状態での画面キャプチャーです。改行マークの表示は、エディタ部→オプション→書式設定の「書式」内の「改行マークを表示」及び「ビューでも表示」で設定します。
// Start of EdMax Macro CHAR MacroComment[] = "CutParagraph\r\n2001/02/05" // #----------------------* Prolog SaveMailEditHeaderEditMode( ) ; //保存:メール編集+ヘッダ編集 OnMailEditMode( ) ; //ON:メール編集 SaveCurrentAutoFormSwitch( ) ; //保存:自動整形ON/OFF OffAutoForm( ) ; //OFF:自動整形 SaveCurrentFindCondition( ) ; //保存:検索条件 ActivateMailerPart( ) ; //メーラー部へ切替え SetFocusToView( ) ; //フォーカス:ビュー画面へ FindString( FALSE , FALSE , FALSE , TRUE , TRUE , FALSE , FALSE , FALSE , FALSE , "^ *\\n" ) ; //文字列の検索(前を検索) KeyDown( VK_RIGHT , 0 ) ; //→キー // #---------------------* 空白行が存在する場合はskip IfStringFound( 1 ) ; KeyDown( VK_HOME , 0 ) ; //Homeキー SetAnchor( ) ; //アンカーの設定 FindString( TRUE , FALSE , FALSE , TRUE , TRUE , FALSE , FALSE , FALSE , FALSE , "^ *\\n" ) ; //文字列の検索(次を検索) // #---------------------* 空白行が存在する場合はskip IfStringFound( 1 ) ; KeyDown( VK_END , 2 ) ; //Ctrl+Endキー // #---------------------* 空白行が存在しなかった場合はskip IfStringNotFound( 1 ) ; KeyDown( VK_RIGHT , 0 ) ; //→キー SetAnchor( ) ; //アンカーの設定 SelectAnchorArea( ) ; //アンカー間を選択 CutString( ) ; //切り取り // #----------------------* Epilog RestoreCurrentFindCondition( ) ; //復元:検索条件 RestoreMailEditHeaderEditMode( ) ; //復元:メール編集+ヘッダ編集 RestoreAutoFormSwitch( ) ; //復元:自動整形ON/OFF // End of EdMax Macro