java 实现word 文档的在线编辑. 以及全文关键字搜索和高亮显示

1:需求

随着技术的发展,人们的需求也越来越高. Office 文件的在线处理也越来越受到人们的广泛关注.但文档太长的话,就需要搜索关键字查找自己想要的内容.并且高亮显示这些关键字

2:方案

用pageoffice 提供的执行 宏的js 方法

3:核心代码

document.getElementById("PageOfficeCtrl1").RunMacro( MacroName, MacroScript );//运行文档中的无返回值的宏命令.
strValue= document.getElementById("PageOfficeCtrl1").RunMacro( MacroName,MacroScript);//运行有返回值的宏命令. 

3:实现过程

(1)先用 pageoffice 在线打开文档

具体请参考 https://my.oschina.net/u/3507515/blog/1802792

(2) 添加显示高亮和取消高亮的按钮

<input name="button" id="Button1" type="button" onclick="SetKeyWord(strKey,true)" value="高亮显示关键字" />
    <input name="button" id="Button2" type="button" onclick="SetKeyWord(strKey,false)" value="取消关键字显示" />

(3)写对应的显示取消高亮的js方法

 function SetKeyWord(key, visible) { 
           if (key=="null"||"" == key) {
                 document.getElementById("PageOfficeCtrl1").Alert("关键字为空。");
                return;
            }  
             var sMac = "function myfunc()" + "\r\n"
                        + "Application.Selection.HomeKey(6) \r\n"
                        + "Application.Selection.Find.ClearFormatting \r\n"
                        + "Application.Selection.Find.Replacement.ClearFormatting \r\n"
                        + "Application.Selection.Find.Text = \"" + key + "\" \r\n"
                        + "While (Application.Selection.Find.Execute()) \r\n"
                        +  "If (" + visible + ") Then \r\n"
                        +  "Application.Selection.Range.HighlightColorIndex = 7 \r\n"
                        +  "Else \r\n"
                        +  "Application.Selection.Range.HighlightColorIndex = 0 \r\n"
                        +  "End If \r\n"
                        +  "Wend \r\n"
                        +  "Application.Selection.HomeKey(6) \r\n"
                        + "End function";
            
            document.getElementById("PageOfficeCtrl1").RunMacro("myfunc", sMac);
            
        }

(4)最终效果

9468c16aeab972408b0825336fb92c79a55.jpg

 

注意一定要启用客户端电脑 office 的宏

04b808e43d5da8ad09909e5529d78352d8c.jpg

转载于:https://my.oschina.net/u/3507515/blog/2980340

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值