数据从richedit中转移到word时,出了些问题(200分)

  • 主题发起人 小黄鱼
  • 开始时间

小黄鱼

Unregistered / Unconfirmed
GUEST, unregistred user!
我有个组卷系统,试题和答案存储在access数据库的memo字段中,数据类型是richedit类型,好像与word内容兼容,当我把这些数据从richedit中转移到word时,出了些问题:

1, 直接粘贴,没有问题。(但是我要用程序做,不能直接粘贴了,并且要编辑字体,例如试卷标题和内容的字体大小是不一样的)

2, 但是使用delphi调用word时,就出现了问题,如果对worddocument1.Range.Text赋值,这是针对整体的,不能编辑字体,如果使用worddocument1.Range.insertafter(text),就会出现乱码,好像是insertafter不支持richedit的格式。



总之就是要实现,把数据库中的内容转移到word中,并自动设置字体,形成一份完整的试卷。不知道我哪里出了错误,有没有更好的办法呢?


 
看一下这个源程序,应该会有帮助。
http://www.djpate.freeserve.co.uk/D5Word.zip
 
access数据库的memo(备注)字段的对应控件DBRichEdit,全选后拷贝到word中即可保留格式设置
 
那就想办法用程序的方式把richedit中的内容粘贴到word中去吧,richedit有copytoclipboard的方法,
word的dom接口中应该有粘贴的方法的。

我没有具体试验过,只能提这样一个想法了。
 
worddocument1.Range.paste;
总是word中原有的内容覆盖掉了,怎么办?
 
和一般的粘贴一样必须指定要粘贴的位置。如在在最后:
Pars.Add(EmptyParam);
n := Pars.Get_count;
ARange := Pars.Item(n).Range;
ARange.PasteSpecial(EmptyParam, EmptyParam, EmptyParam,
EmptyParam, Format1, EmptyParam, EmptyParam);
 

to :linsb,
谢谢,
Format1找不到,
 
只是一段代码,仅供参考的
var
format1: olevariant;

.....

format1 := wdPasteRTF;
 
顶部