マクロ 公開データ (2000.10~2008.01)
[1046] 発信者(from)変更 - matsui <> 01/03/02 22:37
Subject: [1046] 発信者(from)変更
Date: Fri, 02 Mar 2001 22:37:16 +0900
From: matsui <>
//***********************************************************
// FromChange.mac:発信者(from)変更
//
//#[説明]
// メーラー部において発信者の変更を行います。
// 変更する発信者はダイアログから選択となります。
//
// 送信待ちとなっているメールのfromを修正する場合に使用します。
// (メーラ部で使用します。)
//
//#[動作条件]
// 「エディタ設定 → 編集クリップボードの履歴をとる」のチェックがonであること。
//
//#[要 修正]
// 1.「クリップボード履歴設定(修正部)」の部分を任意の発信者に修正します。
// 本例は3個の例ですので、用意したTextに応じ追加削除を行ってください。
//> このとき、ClearClipboardとInsertStringExはペアとなるようにします。
//
// 2.発信者数が増減した場合「キャンセルされた場合はEpilogまでskip」の
// 部分のcount数を修正します。
//> 発信者数の増減に応じ「IfStringNotFound( 15 ) ;」の数字を修正します。
// 発信者の追加 は 2命令の増となるので 15 + 追加Text数 × 2 とします。
//
//#[使用方法]
// 変更したいメールを1通選択した状態で実行します。
// 「履歴から貼り付け」のダイアログが表示されるので、対象の発信者を選択します。
//
//#[履歴]
// 2001/03/02 matsui 「履歴から貼り付け」でのキャンセルに対応
// 2001/02/08 matsui 新規作成
//***********************************************************
CHAR MacroComment[] = "発信者(from)変更\r\n2001/03/02 written by matsui"
// #----------------------* Prolog
SaveCurrentFindCondition( ) ; //保存:検索条件
SaveCurrentAutoFormSwitch( ) ; //保存:自動整形ON/OFF
OffAutoForm( ) ; //OFF:自動整形
SaveMailEditHeaderEditMode( ) ; //保存:メール編集+ヘッダ編集
OnHeaderEdit( ) ; //ON:メール編集+ヘッダ編集
SetFocusToEditor( ) ; //フォーカス:メッセージ作成画面へ
SetFocusToView( ) ; //フォーカス:ビュー画面へ
// #----------------------* クリップボード履歴設定
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 , "^." ) ;
// #----------------------* 検索未ヒット時は、指定行skip
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