|   |  
 マクロのサンプルというか、簡単な例を作ってみました。 
 秀丸メール本体側とエディタ側でマクロ登録した上で、Deleteキーに割り当てれば、 
Deleteキーを押したタイミングで実行されます。 
 Shift+Deleteキーでも実行したい場合は、2重にマクロ登録した上で、1つをDele 
teキー、もう1つをShift+Deleteキーに割り当てればいいかと思います。 
 マクロの中身はあくまでサンプルなので、確認メッセージを出したい/出したくな 
いとか、あるいは「ゴミ箱へ移動」なのか「削除」なのか、その辺はご自身で好きな 
ように書き換えてもらえたらいいんじゃないかと思います。Shiftキーの状態やエデ 
ィタ上か本体上か、アクティブな枠が何か、などで好きなようにカスタマイズできる 
と思います。 
 
 Move関数やDelete関数についてはヘルプの方を参考にして欲しいです。 
 
 
// DeleteCustom.mac 
// 
// DeleteキーおよびShift+Deleteキーに割り当てて使ってもらう用のマクロ。 
// 
// メールの削除の実行方法: 
//  「メールの削除」コマンド(秀丸メール本体上でもエディタ上でも) 
//          sendmessage( hidemaruhandle(0), 0x111, 40010, 0 ); 
//          Shiftキーを押さえた状態で実行すると、確認メッセージ付きで「完全 
削除」の動作になる。 
// 
//   「ゴミ箱へ移動」の処理(秀丸メール本体上) 
//          #n = dllfunc("Move", "", "ゴミ箱"); 
//   「ゴミ箱へ移動」の処理(エディタ上) 
//          #n = dllfunc("Sync"); 
//          if( #n != 0 ) { 
//              #n = dllfunc("ExecAtMain", "Move", "", "ゴミ箱"); 
//          } 
// 
//    「完全削除」の処理(秀丸メール本体上) 
//           #n = dllfunc("Delete", 0); 
//    「完全削除」の処理(エディタウィンドウ上) 
//          question "このメールを完全に削除していいですか?"; 
//          if( result == yes ) { 
//              #n = dllfunc("Sync"); 
//              if( #n != 0 ) { 
//                   #n = dllfunc("Delete", 0); 
//              } 
//          } 
//     編集可能な状態でのDeleteキー相当の処理: 
//          delete; 
// 
 
    message "DeleteCustom.mac"; 
    loaddll "tkinfo.dll"; 
    #handle = hidemaruhandle(0); 
    if( dllfunc("IsHidemaruMailGrep") ) { 
        //検索結果でのマクロを有効にしなければ、ここには来ないと思う。 
        // 
        //検索結果のウィンドウ上の場合。普通のDeleteキー相当の動作にする。 
        //deleteキーをシミュレートさせる。 
        #n = dllfunc("SimulateKeyStroke", 0x2E, #shift, 0, 0 ); 
        endmacro; 
    } 
    if( (!browsemode) && (!readonly) ) { 
        //文字入力可能なウィンドウ上 
        delete; 
        endmacro; 
    } 
    #InEditor = ! dllfunc("IsHidemaruMailMain" ); 
            //エディタウィンドウ上か、それともメインウィンドウ上か。 
    #shift = iskeydown( 0x10 );     //Shiftキーが押さえられてるかどうか。 
    message "InEditor = " + str(#InEditor) + "       shift=" + str(#shift); 
    if( #InEditor ) { 
        //エディタ・ウィンドウ上ではゴミ箱へ移動のみ。確認メッセージ表示。 
        question "このメールをゴミ箱へ移動してもいいですか?"; 
        if( result == yes ) { 
            #n = dllfunc("Sync"); 
            if( #n != 0 ) { 
                #n = dllfunc("ExecAtMain", "Move", "", "ゴミ箱"); 
                quit; 
            } 
        } 
    } else { 
        #pane = dllfunc("CurrentPane"); 
        if( #pane == 3 ) { 
            //添付ファイル枠がアクティブの時は、添付ファイルの削除として動作 
させる。 
            //deleteキーをシミュレートさせる。 
            #n = dllfunc("SimulateKeyStroke", 0x2E, #shift, 0, 0 ); 
            endmacro; 
        } 
        if( #pane == 0 ) { 
            //フォルダ枠がアクティブの時でも削除可能にする。ただし確認メッ 
セージ表示 
            question "フォルダ枠がアクティブですが、メールを削除しようとして 
います。かまわずに続行しますか?"; 
            if( result != yes ) { 
                endmacro; 
            } 
        } 
        if( #shift ) { 
            //完全削除 
            #n = dllfunc("Delete", 0); 
        } else { 
            question "選択してるメールをゴミ箱へ移動してもいいですか?"; 
            if( result != yes ) { 
                endmacro; 
            } 
            #n = dllfunc("Move", "", "ゴミ箱"); 
        } 
    } 
 
			 | 
		  
	 |