2016-06-18 11 views
1

私は単純に使用します。NPP_Exec N ++のコマンドはマクロで正常に動作します。例えば:Notepad ++のNppExecで "マクロを複数回実行..."

NPP_MENUCOMMAND Macro/Action1 
NPP_MENUCOMMAND Encoding/Convert to ANSI 
NPP_SAVE 

しかし、どのようにすることができます、私は、特定のマクロを複数回を実行? 私はNPP_MENUCOMMAND Macro/Runを試しましたが、私は必要なマクロを手動で選択し、ポップアップウィンドウの "end of line"まで設定する必要があります。

答えて

0

あなたはこのような単純なループに対してNppExecプラグインを使用することができます。それは

  • 現在の位置を保存する

    :REPEAT 
        SCI_SENDMSG SCI_GETCURRENTPOS 
        set pos1 = $(MSG_RESULT) 
    
        // put your Macro invocation here instead of the linedown: 
        SCI_SENDMSG SCI_LINEDOWN 
    
        SCI_SENDMSG SCI_GETCURRENTPOS 
        set pos2 = $(MSG_RESULT) 
    
        // if the linedown (or your macro) doesnot give another pos, we have reached the end 
        if $(pos1) == $(pos2) goto END 
        // else loop 
        goto REPEAT 
    
    :END 
    
    • それは位置を進め何か(この例ではlinedownを行い、あなたはでしょうそこにマクロ呼び出しを置き、カーソル位置が変更されていることを確認してください)
    • そして、その位置が格納された位置と比較されます。ポジションが変わっていなければ、私たちは最後に達しました。
    • この場合、ループから抜け出す
  • 関連する問題