Delphi 操作Word实现粘贴板RTF格式内容替换
最近在做一个功能,客户端调用一个网页,从网页上点击一个按钮,将格式文本复制到粘贴板,由于网页不支持设置粘贴板类型设置,导致往目标容器粘贴的时候格式丢失。
此时在delphi中操作粘贴板也无法实现,由于是2006版本,很多新功能没有,此时想到了借助delphi调用word的方式实现,先将内容粘贴进入word(可设置不可见,即没有看到word打开的界面)中,然后在word中替换文本后再进行复制,这样再粘贴的时候就可以实现了,格式文本与最初的一样;
实例代码如下:
引用单元:Clipbrd, Word2000,ComObj
创建:
m_WordApp,m_WordDoc:Variant;
if VarIsEmpty(m_WordApp) then
begin
m_WordApp := CreateOLeObject('Word.application');
m_WordApp.visible := false;
m_WordDoc := m_WordApp.documents.add;
end;
功能实现:
m_WordApp.Selection.Paste;//粘贴原有内容至word
Clipboard.Clear;//清空粘贴板
m_WordApp.Selection.Find.ClearFormatting;
m_WordApp.Selection.Find.Text := '要替换的字符';//需要替换为空的字符
m_WordApp.Selection.Find.Replacement.Text := '替换成的字符';//可设置你想要替换成的字符
m_WordApp.Selection.Find.forward := True;
m_WordApp.Selection.Find.MatchAllWordForms := False;
m_WordApp.Selection.Find.MatchCase := False;
m_WordApp.Selection.Find.MatchWildcards := False;
m_WordApp.Selection.Find.MatchSoundsLike := False;
m_WordApp.Selection.Find.MatchWholeWord := False;
m_WordApp.Selection.Find.MatchFuzzy := False;
m_WordApp.Selection.Find.Wrap := wdFindContinue;
m_WordApp.Selection.Find.Format := False;
m_WordApp.Selection.Find.Execute(Replace := wdReplaceAll);//可设置全部替换或仅替换第一个找到的目标字符串
m_WordDoc.select;//全选
m_WordApp.selection.copy;//复制到粘贴板
释放:
if (not VarIsEmpty(m_WordApp)) then
begin
m_WordApp.ActiveDocument.Close(wdDoNotSaveChanges);//不会提示保存窗口
// WordApp.ActiveDocument.Close;//提示保存窗口
m_WordApp.Quit;
m_WordApp := Unassigned;
end;
Delphi 操作Word实现粘贴板RTF格式内容替换相关推荐
- Delphi操作word的基本用法
刚把delphi捡起来,第一个要做的竟然操作word,总结一下. 一. 定义word应用程序,文档对象,比如: wordApp: OleVariant; wordDoc: OleVariant; ...
- Delphi操作Word,Excel替换
有的时候想把数据库里的内容按某种格式写在Word,Excel里,在Word,Excel里按某种格式保存字段名称,下面以"%+字段名称+%"为例 一.Delphi 操作 Word 替 ...
- .NET操作WORD文档另存为其他格式的文件
刚在研究研究怎么可以在.NET程序中把WORD文档另存为XPS文件,学习了一些概念和操作,马上记录下来吧,进入正题. 1. 添加与WORD互操作的类库,里面包含着WORD对象模型的.NET表示: 一看 ...
- vc向richedit控件写RTF格式内容(表格)
RTF格式文本以前很少接触过,因工作原因,需要向richedit控件插入表格. 从度娘上搜索了一些基本内容,下了RTF规范,也没有仔细研究.对于一些简单的表格,可以采用"逆向工程" ...
- C# 操作Word书签(二)——读取、替换Word书签
在上一篇文章中介绍了关于C#如何插入Word书签.插入图片或表格到word.删除word书签等内容,本篇文章将继续介绍C#操作word书签的方法.下面的示例中将介绍 C# 如何读取Word书签 C# ...
- Bash:把粘贴板上的内容拷贝的文件中。(脚本)
2019独角兽企业重金招聘Python工程师标准>>> 一个把粘贴板中的信息存放到文件中去的bash代码. 要求: 1.先检测要执行的命令是否存在 2. 检测文件是否存在 3. 检测 ...
- rtf格式内容转html
最近项目里需要把以前的客户问题数据导入到新的系统中来,从开始到完成整整花了一天半的时间,现把大概的一些开发过程记录如下: 一.分析 图A 图B 要从A中的内容转成B,先分析图A 1.A中内容是经过ba ...
- Python:用【Win32】模块,结合Word通配符替换,将Word文档表格的部分内容替换为加粗
目录 一.思路 1.遍历表格,根据需要,如果只设置某一个表格,指定即可(具体代码注释有) 2.对表格区域查找替换 二.代码 三.执行结果 1.执行前 2.执行后 一.思路 1.遍历表格,根据需要,如果 ...
- ADB 操作手机的粘贴板
一.使用方法 1.安装APK 下载地址:application.apk 1.启动广播 adb shell am startservice ca.zgrs.clipper/.ClipboardServi ...
最新文章
- 我的世界java测试版下载_我的世界中国版PC不删档测试版_网易我的世界JAVA版测试版单机游戏下载...
- wgs84坐标格式转换度分秒_一起爬山吗?寻找GIS坐标系统中“隐秘的角落”
- [BUUCTF-pwn]——starctf_2019_babyshell
- 把nc v6的源码看懂
- swagger2导出html文档和pdf文档(解决pdf中文乱码与显示不全问题)
- nginx rewrite 实现二级域名跳转
- Gemini 2 for Mac(重复文件查找清理工具)
- android如何去掉自动更新,如何停止Android手机上的应用程序自动更新
- Luogu2774 方格取数问题
- Win10如何玩Win7自带的游戏
- React 环境 webpack less 配置 及 javascriptEnabled 解决方法
- 解锁中智集团30平方米数据中心备受追捧的密码
- Java获取Excel表格的真实行数
- ipv4地址怎么设置 手机_怎么修改手机ip地址?手机ip地址更改方法介绍
- sed编辑器之删除行
- KindEditor图片上传路径URL的处理
- Python安装失败0x80070642错误解决方法
- 亡命威龙评测:像城管一样开警车
- Canvas 动画引擎解析与微信小程序中的应用
- (从完全入门开始)思科模拟器创建校园网,第一次写博客