hur.cn - 华软网

 热门搜索

跪求OLE对象对word的操作问题

  作者:未知    来源:网络    更新时间:2017/12/5
本人正在做一个自动组卷系统,主要向实现把数据窗口的题目写入word中,组成一张试卷,请问如何实现,格式控制如何实现?谢谢啦
邮箱地址:ak4705036@163.com
------华软网友回答------
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=97301
------华软网友回复------
你创建一个文件在word里面先定好格式,在必须插入题目的地方放置一个书签,然后将数据窗口中去出来的题目写到书签的位置:
OLEObject  ole_1  
ole_1  =  CREATE  OLEObject 
 
li_ret=1
li_ret = ole_1.ConnectToObject("Word.application") 
if li_ret <> 0 then 
li_ret =ole_1.ConnectToNewObject("Word.application") 
if li_ret<>0 then 
MessageBox("OLE错误","OLE无法连接! 错误号:"+String(li_ret)) 
end if 
end if

ole_1.documents.open(gs_current_dir +'\filename.doc') //打开你事先做好的格式文件

ole_1.selection.goto(true,0,0,'标签名')  //将当前插入位置设为标签所在的位置
ole_1.selection.typetext('题目')       //插入题目内容
------华软网友回复------
现在的问题是:
1。我的试卷里面有可能有图片,最好是在录入题目的时候也能将图片和文字一起放,这样对于不同的题目格式控制好一点,如何实现?
2。然后这种blob如何加入word?
------华软网友回复------
由图片的话也没有关系,你首先将图片数据取出来保存到BLOB中,然后将该BLOB数据写到一个临时图片文件中
//写入临时文件
if sqlca.sqlcode = 0 then
  integer li_FileNum,li_i
  li_FileNum = FileOpen( gs_current_dir+"\photo.bmp",StreamMode!, Write!, LockRead!, Append!)
  
  for li_i = 1 to li_loop
    blb_word = blobmid(blb_photo,(li_i - 1)*32765+1,32765)
    FileWrite(li_FileNum, blb_word)
  next
  FileClose(li_FileNum)
end if
写之前不要忘了将临时文件清空
然后用:ole_1.Selection.InlineShapes.AddPicture(gs_current_dir+"\photo.bmp",False,True)
将图片写入word文件


------华软网友回复------
那样有些麻烦,对于不同的题目的排版也不好,用OLE控件如何?      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。