可以实现,不过正如上面几位所讲,直接用VFP报表最好,照片也不要放在表中。
cPath="F:\干部信息登记表"
cFileName0=cPath+"\干部信息登记表.doc"
CLOSE DATABASES
USE jsdaxx
SCAN
cFileName1=cPath+"\"+ALLTRIM(姓名)+" 干部信息登记表.doc"
IF MESSAGEBOX("确要生成 "+cFileName1+"吗?",4+32+0,"确认:")=6
cWaitmesg="正在生成《"+cFileName1+"》,请稍候......"
Wait Window cWaitmesg
Nowait At srow()/2,(scol()-len(cWaitmesg))/2
oWord =CREATEOBJECT("Word.APPLICATION")
oDoc =oWord.Documents.Open(cFileName0)
oTable =oWord.ActiveDocument.Tables(1)
oWord.VISIBLE =.f.
WITH oTable
.Cell(1,2).RANGE.InsertAfter(姓名)
.Cell(1,4).RANGE.InsertAfter(性别)
.Cell(1,6).RANGE.InsertAfter(DTOC(出生年月))
PictureFileName=cPath+"\员工照片.jpg"
&&照片位置及大小最好事先处理
.cell(1,7).range.InlineShapes.AddPicture(PictureFileName,.F.,.T.)
.Cell(2,2).RANGE.InsertAfter(民族)
.Cell(2,4).RANGE.InsertAfter(籍贯)
.Cell(2,6).RANGE.InsertAfter(出生地)
.Cell(3,2).RANGE.InsertAfter(IIF(!EMPTY(入党时间),DTOC(入党时间),""))
.Cell(3,4).RANGE.InsertAfter(IIF(EMPTY(参工时间),DTOC(参工时间),""))
.Cell(3,6).RANGE.InsertAfter(健康状况)
.Cell(4,2).RANGE.InsertAfter(职称)
.Cell(4,4).RANGE.InsertAfter(ALLTRIM(熟悉专业)+" "+ALLTRIM(有何专长))
.Cell(5,3).RANGE.InsertAfter(全日制教育)
.Cell(5,5).RANGE.InsertAfter(毕业院校1)
.Cell(6,5).RANGE.InsertAfter(系及专业1)
.Cell(7,3).RANGE.InsertAfter(在职教育)
.Cell(7,5).RANGE.InsertAfter(毕业院校2)
.Cell(8,5).RANGE.InsertAfter(系及专业2)
.Cell(9,2).RANGE.InsertAfter(现任职务)
.Cell(10,2).RANGE.InsertAfter(简历)
ENDWITH
oWord.ActiveDocument.SAVEAS(cFileName1)
IF MessageBox("查看生成的文档吗?",4+32+0,"提示:")=6
oWord.VISIBLE =.T.
Else
oWord.QUIT
RELEASE oWord
ENDIF
ENDIF
ENDSCAN
WAIT CLEAR