誤って違う発信者となってしまったメールを送信フォルダ内で変更するマクロです。変更する発信者を選択できるのでニックネームの切替なども簡単に行えます。
本例は9アドレス用ですがそれ以上の場合は
ClearClipboard と InsertStringEx はペアとなるように追加してください。
アドレス数はいくつでもかまいませんが、9個以上になると選択時スクロールが必要となります。
// Start of EdMax Macro CHAR MacroComment[] = "発信者(from)変更\r\n2001/03/02" // #----------------------* Prolog SaveCurrentFindCondition( ) ; //保存:検索条件 SaveCurrentAutoFormSwitch( ) ; //保存:自動整形ON/OFF OffAutoForm( ) ; //OFF:自動整形 SaveMailEditHeaderEditMode( ) ; //保存:メール編集+ヘッダ編集 OnHeaderEdit( ) ; //ON:メール編集+ヘッダ編集 SetFocusToEditor( ) ; //フォーカス:メッセージ作成画面へ SetFocusToView( ) ; //フォーカス:ビュー画面へ // #----------------------* クリップボード履歴設定(修正部) ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭) ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭) ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭) ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭) ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭) ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , " " ) ; //挿入:文字列(クリップボードの文頭) ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , "memo <memo@memo>" ) ; ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , "EdTex <EdTex@PemSoft>" ) ; ClearClipboard( ) ; //クリップボードをクリア InsertStringEx( 4 , "EdMax <EdMax@PemSoft>" ) ; // #----------------------* 発信者を選択し末尾に貼り付け KeyDown( VK_END , 2 ) ; //Ctrl+Endキー SetAnchor( ) ; //アンカーの設定 InsertString( "\r\n" ) ; //改行(チェック行の追加) SetAnchor( ) ; //アンカーの設定 PasteByHistoryDialog( ) ; //履歴から貼り付け // #----------------------* 「履歴から貼り付け」のキャンセルチェック SelectAnchorArea( ) ; //アンカー間を選択 KeyDown( VK_LEFT , 0 ) ; //←キー(チェック行の直前に移動) FindString( TRUE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , "^." ) ; //文字列の検索(次を検索) IfStringNotFound( 15 ) ; //キャンセルされた場合はEpilogまでskip // #--------------------* 設定する発信者の切り取り SelectAnchorArea( ) ; //アンカー間を選択 KeyDown( VK_LEFT , 0 ) ; //←キー(チェック行の直前へ) DeleteString( ) ; //Deleteキー(追加した改行の削除) KeyDown( VK_END , 3 ) ; //Ctrl+Shift+Endキー ClearClipboard( ) ; //クリップボードをクリア CutString( ) ; //切り取り(履歴から貼り付けた発信者) // #--------------------* ヘッダのアドレスを変更 KeyDown( VK_HOME , 2 ) ; //Ctrl+Homeキー FindString( TRUE , TRUE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , "From: " ) ; //文字列の検索(次を検索) KeyDown( VK_RIGHT , 0 ) ; //→キー SetAnchor( ) ; //アンカーの設定(貼り付け範囲の始点) FindString( TRUE , TRUE , TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , "\\n" ) ; //文字列の検索(次を検索) KeyDown( VK_LEFT , 0 ) ; //←キー SetAnchor( ) ; //アンカーの設定(貼り付け範囲の終点) SelectAnchorArea( ) ; //アンカー間を選択 PasteString( ) ; //貼り付け // *----------------------* Epilog SetFocusToList( ) ; //フォーカス:リスト画面へ RestoreCurrentFindCondition( ) ; //復元:検索条件 RestoreAutoFormSwitch( ) ; //復元:自動整形ON/OFF RestoreMailEditHeaderEditMode( ) ; //復元:メール編集+ヘッダ編集 // End of EdMax Macro