将emeditor宏输出的搜索结果复制到剪贴板并将其发送到potplayer

问题描述

我正在使用emeditor宏代码ExtractLinesContain.jsee(从emeditor宏库下载)来搜索文本文件中的某些文本。此代码是完美的工作。它将结果粘贴到新文件。但我想将结果复制到剪贴板,也应该发送到potplayer。 以上代码中需要进行三处修改

  1. 使用分隔符“ |”输入多个文本。我想用','代替'|'。
  2. 搜索结果自动复制到搜索结果中。
  3. 以下代码将附加到上面的宏代码中。 editor.ExecuteCommandByID(4445); WshShell = new ActiveXObject(“ WScript.Shell”);

WshShell.Run(“ PotPlayerMini64.exe / clipboard”);

请帮助我。

解决方法

ExtractLinesMulti.jsee 宏非常老,我改用EmEditor的批量查找/提取功能重写了该宏。这是宏,它提取的行确实包含由|分隔的指定多个字符串中的任何一个:

if( !editor.EnableTab ){ 
   editor.EnableTab = true; 
   alert( "Please run this macro again." ); 
   Quit(); 
}

sFind = prompt( "This macro extracts lines that do contain any of the specified multiple strings separated by |:","" );
if( sFind == "" ){
    Quit();
}

var sArr = sFind.split("|");
batch_list = editor.filters;
for( i = 0; i < sArr.length; ++i ) {
    batch_list.AddFind(sArr[i],eeFindReplaceCase,0);
}
document.selection.BatchFind(batch_list,eeFindExtract | eeFindLineOnly,0);

document.selection.SelectAll();  // select all text
document.selection.Copy(eeCopyUnicode);  // copy the seleciton to the Clipboard

您可以将所需的任何代码添加到此宏的末尾。

参考:http://www.emeditor.org/en/macro_selection_batch_find.html