マクロ 公開データ (2000.10~2008.01)

[1027] 件名にする(エディタ・メーラー部兼用) - kotaro <kotato@mx4.tiki.ne.jp> 01/02/07 23:33


Subject: [1027] 件名にする(エディタ・メーラー部兼用) Date: Wed, 07 Feb 2001 23:33:38 +0900 From: kotaro <kotato_@_mx4.tiki.ne.jp>
浩太郎です。 //****************** 件名にする(エディタ・メーラー部兼用) [機能] EdMax の拡張コマンド「件名にする」をメーラー部でも使えるよ うにしたものです。 エディタ部での動作は、「件名にする」するとほぼ同じです。 メーラー部では基本的に件名を上書きする仕様にしていますが、 "【】" "[] "[]" で囲まれた部分は残します。   ノーマルの「件名にする」と比べると、「カーソル位置が文   頭に動く」というデメリットがあるため、エディタ部でのみ   使用の人は使わない方がいいです。 [メーラー部での動作] メーラー部での動作は、ちょっと変則的です。 基本的には上書きしますが、 件名の中に [・・・][・・・]【・・・】のパターンがあると。例えば、、 [edmax:1063] EdMax Ver2.81.1 暫定版リリース        ↓ [edmax:1063]□□□□□□□□□□□□□□□□□□ ・・・といった風に[・・・]を残して上書きします。 ちなみに[・・・]のパターンが2つある場合は、最後尾に上書きです。 [edmax:1063] EdMax Ver2.81.1【重要】暫定版リリース        ↓ [edmax:1063] EdMax Ver2.81.1【重要】□□□□□□□□ ……という風に上書きします。 #[・・・】にもマッチします(^^; 他、複数行サブジェクト。=途中に改行の混じった Subject は、 2行目以降の括弧のパターンにはマッチしません。 //============================= // Start of EdMax Macro SetFocusToEditor( ) ;//フォーカス・メッセージ作成画面へ //##条件の保存 SaveCurrentFindCondition( ) ;//保存:文字列の検索オプション SaveCurrentAutoFormSwitch( ) ;//保存 自動整形ON/OFF SaveMailEditHeaderEditMode( ) ;//保存:メール編集・ヘッダ書き換え OffAutoForm( ) ;//自動整形OFF CopyString( ) ;//選択範囲をコピー //##メーラー部かエディタ部か? SetFocusToView( ) ;//フォーカスをビューへ OffMailEditMode( ) ;//メール編集OFF KeyDown( VK_HOME , 2 ) ;//カーソル・テキスト先頭へ InsertStringEx( 0 , "." ) ;//文字列挿入・カーソル位置に FindString( FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , "." ) ; IfStringNotFound( 5 ) ;//メーラー部である→ //##エディタ部の場合 DeleteString( ) ;//選択中の文字列を削除 PasteSelected( ) ;//選択状態で貼り付け SetToSubject( ) ;//件名にする DeleteString( ) ;//選択中の文字列を削除 IfStringFound( 1000 ) ; //##メーラー部の場合 OnHeaderEdit( ) ; //[○○]【○○】[○○]のパターンを探す([  】にもヒットしますが、問題ないでしょう^^?) FindString( TRUE , FALSE , TRUE , TRUE , TRUE , TRUE , FALSE , FALSE , FALSE , "\\n\\n" ) ; FindString( FALSE , TRUE , FALSE , TRUE , TRUE , TRUE , FALSE , FALSE , FALSE , "^Subject: .*[\\[【].+[\\]】]" ) ; IfStringFound( 4 ) ; // 括弧のパターンが存在 //##括弧がない。 FindString( FALSE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE , FALSE , FALSE , "^Subject: " ) ; IfStringNotFound( 10 ) ; // サブジェクトもない。 KeyDown( VK_RIGHT , 0 ) ; IfStringFound( 2 ) ; // KeyDown( VK_RIGHT , 0 ) ; InsertString( " " ) ; SetAnchor( ) ;//アンカーの設定 FindString( TRUE , FALSE , FALSE , TRUE , TRUE , FALSE , FALSE , FALSE , FALSE , "\\n[^\\t]" ) ; KeyDown( VK_LEFT , 0 ) ; SetAnchor( ) ;//アンカーの設定 SelectAnchorArea( ) ;//アンカー間の選択 PasteString( ) ;//貼り付け RestoreMailEditHeaderEditMode( ) ;//復元:メール編集・ヘッダ書き換えモード RestoreCurrentFindCondition( ) ;//復元:文字列の検索オプション RestoreAutoFormSwitch( ) ;//復元 自動整形ON/OFF // End of EdMax Macro //=============================