Site Map | HOME > Sub Menu > X-Faceヘッダ追加(対象データ選択) 概要 | 導入手順 | マクロ

X-Faceヘッダ追加(対象データ選択)

■ 概要・動作イメージ・動作条件など

ダアイアログボックスから選択されたx-faceヘッダを追加します。さまざまなx-faceを使い分けした場合などに使用します。
※xfaceデータはマクロとは別にTextファイルを用意しておきます。

◆ 動作条件・制限事項

▲Top

■ 導入手順

Step1 xfaceデータの作成

任意のフォルダにxfaceデータを作成し保存します。X-Face.txtの内容をそのままメールヘッダに貼り付けますので、コメント等は含めないでください。(サンプルはxFace01.txt〜xFace04.txtを使用しています。)

データをFaceMake.exeで作成する場合は、FaceMake用加工(マルチ/カラー用)を使用するとほんの少しは楽になるかもしれません。
かえって面倒だったりして...(^^;;;

Step2 クリップボード履歴設定の修正

「InsertStringEx」でクリップボードへ設定する内容を、1.で作成したxfaceデータ名に変更します。このとき拡張子(.TXT)は含めないでください。たとえば作成したxfaceデータが「xFace01.txt」の場合は「xFace01」となります。修正は作成したxfaceデータ数分行います。(サンプルはxFace01〜xFace04が記述されています。)

Step3 ファイルパスの修正

「OpenFileMessage」で記述してあるパスをxfaceデータ保存パスに修正します。 このとき「\」は「\\」としてください。(C:\EdMaxの場合はC:\\EdMaxとなります。)

▲Top

■ EdMax マクロサンプル

◆ XFaceDataChoice.mac

// Start of EdMax Macro
// #----------------------* Prolog
SaveMailEditHeaderEditMode( )   ;       //保存:メール編集+ヘッダ編集
OnHeaderEdit( ) ;                       //ON:メール編集+ヘッダ編集
SaveCurrentAutoFormSwitch( ) ;          //保存:自動整形ON/OFF
OffAutoForm( ) ;                        //OFF:自動整形
SaveCurrentFindCondition( ) ;           //保存:検索条件
ActivateMailerPart( ) ;                 //メーラー部へ切替え
SetFocusToView( ) ;                     //フォーカス:ビュー画面へ

//#-------------------------* クリップボード履歴設定(修正部)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , " " ) ;             //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , " " ) ;             //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , " " ) ;             //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , " " ) ;             //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , " " ) ;             //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , "xFace04" ) ;      //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , "xFace03" ) ;      //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , "xFace02" ) ;      //挿入:文字列(クリップボードの文頭)
ClearClipboard( ) ;                     //クリップボードをクリア
InsertStringEx( 4 , "xFace01" ) ;      //挿入:文字列(クリップボードの文頭)

// #----------------------* XFaceDataOpen.mac のText名書き換え
OpenFileMessage( "C:\\Pemsoft\\Macro\\XFaceDataOpen.mac" , FALSE ) ; //ファイル:開く(パスは環境により異なります)

KeyDown( VK_END , 2 ) ;                 //Ctrl+Endキー
FindString( FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , "\\\\" ) ;  //文字列の検索(前を検索)
KeyDown( VK_RIGHT , 0 ) ;               //→キー
SetAnchor( ) ;                          //アンカーの設定(Text名の始点)
FindString( TRUE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , ".txt" ) ;    //文字列の検索(次を検索)
KeyDown( VK_LEFT , 0 ) ;                //←キー
SetAnchor( ) ;                          //アンカーの設定(Text名の終点)
SelectAnchorArea( ) ;                   //アンカー間を選択
DeleteString( ) ;                       //Delete
PasteByHistoryDialog( ) ;               //履歴から貼り付け
//#-------------------------* 「履歴から貼り付け」キャンセルチェック
FindString( FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , FALSE , "\\\\.txt" ) ;   //文字列の検索(前を検索)
IfStringNotFound( 2 ) ;                 //「\\.txt」が存在しない場合は【point1】へskip
//#----------* キャンセル時の処理
CloseFileNoConfirmation( ) ;            //保存確認せずに閉じる(XFaceDataOpen.mac)
IfStringFound( 35 ) ;                   //キャンセルとみなしEpilogへskip

//#----------* 【point1】通常処理
SaveMessageToFile( ) ;                  //上書き保存(XFaceDataOpen.mac)
CloseFileNoConfirmation( ) ;            //保存確認せずに閉じる
//#----------* X-Face関連ヘッダの存在をチェックし削除
//#-------------------------* ヘッダの最終へ位置付け
KeyDown( VK_HOME , 2 ) ;                //Ctrl+Homeキー
FindString( TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , "\\n\\n" ) ;    //文字列の検索(次を検索)
KeyDown( VK_LEFT , 0 ) ;                //←キー
//#-------------------------* X-Face-Typeの存在チェック
FindString( FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , "^X-Face-Type: " ) ; //文字列の検索(前を検索)
IfStringNotFound( 3 ) ;                 //存在しない場合は【point2】へskip
//#-------------------------* 始点設定(マルチ/カラーの場合)
KeyDown( VK_LEFT , 0 ) ;                //←キー
SetAnchor( ) ;                          //アンカーの設定
IfStringFound( 5 ) ;                    //【point3】へskip

//#----------* 【point2】 X-Face-Typeが存在しない場合
//#-------------------------* X-Faceの存在チェック
FindString( FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , "^X-Face: " ) ;    //文字列の検索(前を検索)
IfStringNotFound( 16 ) ;                //存在しない場合は【point4】へskip
//#-------------------------* 始点設定(48×48白黒の場合)
KeyDown( VK_LEFT , 0 ) ;                //←キー
SetAnchor( ) ;                          //アンカーの設定
IfStringNotFound( 13 ) ;                //存在しない場合は[xFaceデータの複写]へskip

//#----------* 【point3】 X-Face関連ヘッダ削除
//#-------------------------* ヘッダの最終へ位置づけ
KeyDown( VK_HOME , 2 ) ;                //Ctrl+Homeキー
FindString( TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , "\\n\\n" ) ;  //文字列の検索(次を検索)
KeyDown( VK_LEFT , 0 ) ;                //←キー
//#-------------------------* 終点設定(最終のX-Faceの行末)
FindString( FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , "^X-Face: " ) ;  //文字列の検索(前を検索)
KeyDown( VK_RIGHT , 0 ) ;               //→キー
FindString( TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , "\\n" ) ; //文字列の検索(次を検索)
KeyDown( VK_RIGHT , 0 ) ;               //→キー
SetAnchor( ) ;                          //アンカーの設定
//#-------------------------* X-Face関連ヘッダ削除
SelectAnchorArea( ) ;                   //アンカー間を選択
DeleteString( ) ;                       //Deleteキー
//#-------------------------* ヘッダの最終へ位置付け
KeyDown( VK_HOME , 2 ) ;                //Ctrl+Homeキー
FindString( TRUE , FALSE , FALSE , FALSE , TRUE , FALSE , FALSE , FALSE , FALSE , "\\n\\n" ) ;  //文字列の検索(次を検索)
KeyDown( VK_LEFT , 0 ) ;                //←キー

//#----------* 【point4】 X-Faceヘッダの追加
//#-------------------------* xFaceデータの複写
CallMacro( XFaceDataOpen ) ;            //ファイル:開く
SelectAllString( ) ;                    //すべてを選択
CopyString( ) ;                         //コピー
CloseFileNoConfirmation( ) ;            //保存確認せずに閉じる
//#-------------------------* Content-Typeの直前に貼り付け
FindString( FALSE , FALSE , TRUE , TRUE , FALSE , FALSE , FALSE , FALSE , FALSE , "^Content-Type: " ) ; //文字列の検索(前を検索)
KeyDown( VK_LEFT , 0 ) ;                //←キー
PasteString( ) ;                        //貼り付け
//#-------------------------* Epilog
RestoreMailEditHeaderEditMode( ) ;      //復元:メール編集+ヘッダ編集
RestoreAutoFormSwitch( ) ;              //復元:自動整形ON/OFF
RestoreCurrentFindCondition( ) ;        //復元:検索条件
SetFocusToList( ) ;                     //フォーカス:リスト画面へ
// End of EdMax Macro

◆ XFaceDataOpen.mac

// Start of EdMax Macro
OpenFileMessage( "C:\\Pemsoft\\Macro\\xFace\\xFace01.txt" , FALSE ) ; //ファイル:開く(パスは環境により異なります)
// End of EdMax Macro

▲Top


Site Map | HOME > Sub Menu > X-Faceヘッダ追加(対象データ選択) 概要 | 導入手順 | マクロ