标题: 排版脚本编写求助(已解决) [打印本页]

作者: 北冥    时间: 2014-7-16 17:10
标题: 排版脚本编写求助(已解决)
本帖最后由 北冥 于 2014-7-16 20:43 编辑


排版脚本编写求助,手动替换能实现,用脚本出错

我想用脚本分别实现下面的功能(经测试:不用脚本,单独用语句手动替换能正常实现)

目的:
一、 用正则表达式  ·\d+·  替换 ,能删除 ·1·  这类的页码。想在脚本中实现。
二、 用正则表达式 ([一二三四五六七八九十百零○]+)$  替换为     第\1章  。能实现 把中文数字,如:  一 变为 第一章 。想在脚本中实现。
三、用正则表达式   第([一二三四五六七八九十百零○])部  替换为   第\1章。 能把 第一部 变为  第一章 。想在脚本中实现。

上述三个功能不想一次全部替换,想写成脚本,按需要有选择性的替换某一项。未能实现。

目前我写的脚本语句如下:
****************************
menu= CreatePopupMenu();
标题 = CreatePopupMenu();
排版= CreatePopupMenu();


if (document.selection.isempty)   
    nFlags=eeFindNext | eeReplaceAll | eeFindReplaceRegExp;
else
    nFlags=eeFindNext | eeReplaceSelOnly | eeReplaceAll | eeFindReplaceRegExp;

menu.Add( "北冥自用脚本", 1 );
menu.Add( "", 0, eeMenuSeparator );


menu.AddPopup( "标题", 标题 );
标题.Add( "中文数字加 第章", 2);
标题.Add( "第X部改第X章", 3);


排版.AddPopup( "排版", 排版);
排版.Add( "删除·1·类页码",5);


result = menu.Track( 0 );
switch(result){

case 1:
        alert("北冥自用脚本:)");
    break;
case 2: //中文数字加 第章
document.selection.Replace("([一二三四五六七八九十百零○]+)$","第\1章",nFlags);
    break;
case 3: //第X部改第X章
document.selection.Replace("第([一二三四五六七八九十百零○]+)部","第\1章",nFlags);
     break;
case 5: //删除·1·类页码
document.selection.Replace("·\d+·","",nFlags);
default:
}

******************
运行脚本后的问题:
一、只能显示标题和标题下面的两个功能,不能显示排版的选项。
二、运行标题的两个选项,都是替换成“第  章” ,中间的数字不会显示。

恳请达人指点,因第一次试着写脚本,非常想用脚本解决手动替换的麻烦。不知道问题出在哪里。谢谢!






欢迎光临 (http://imap.zasq.net/) Powered by Discuz! X3.2