最近在做一个功能,客户端调用一个网页,从网页上点击一个按钮,将格式文本复制到粘贴板,由于网页不支持设置粘贴板类型设置,导致往目标容器粘贴的时候格式丢失。
此时在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.R