程序名:scgrkb.prg 功 能:利用vfp程序自动生成教师个人任课表 说 明:1、本程序涉及以下4个文件: 学校日课总表文件(rkzb201803.dbf) 各班教师任课表(jsrkb.dbf) 教师名单表文件(jsmd.dbf) 教师任课表模板文件(grkbmb.doc) 2、以上4个文件及本程序文件(scgrkb.prg)要放在同一个文件夹下
SETTALK OFF SETSAFETY OFF CLOSE ALL CLEAR
wjm=SYS(5)+ SYS(2003)+ "\grkbmb.doc" WordApp=CREATEOBJECT("Word.application")
USEjsmd ALIAS jsmd IN 0 USEjsrkb ALIAS jsrkb IN 0 USErkzb201803 ALIAS rkzb201803 IN 0
SELECT jsmd GOTO top rkmc="" SCAN xm=ALLTRIM(姓名) rkmc=xm+ "," WordTable=WordApp.Application.Documents.Open(wjm) WordApp.Visible =.t. SELECT jsrkb GOTO top SCAN FOR i=1 TO Fcount() m=FIELD(i) xm2= &m. IF ALLTRIM(xm2)=ALLTRIM(xm) then rkmc=rkmc+ FIELD(i)+ nj +bj +',' zk( m,nj,bj) ENDIF NEXT i ENDSCAN WORDAPP.ActiveDocument.Content.Find.Execute('ABCDEF',.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,'&xm',2) oFile=SYS(5)+ SYS(2003) +"\"+ ALLTRIM(xm)+ "_任课表.doc" WordApp.Documents(1).SaveAs(oFile) WordApp.ActiveDocument.Close SELECT jsmd ENDSCAN WORDAPP.quit WORDAPP=.NULL. CLOSE ALL QUIT
PROCEDURE zk LPARAMETERS kcm,lnj,lbj LOCAL j,zkm,xq,jc,zkkm
SELECT rkzb201803 GOTO top LOCATE FOR ALLTRIM(nj)=ALLTRIM(lnj) AND ALLTRIM(bj)=ALLTRIM(lbj) IF NOT EOF() THEN FOR j=3 TO 32 zkm=FIELD(j) zkkm= &zkm. IF ALLTRIM(zkkm)=ALLTRIM(kcm) then xq=VAL(SUBSTR(zkm,5,1)) jc=VAL(SUBSTR(zkm,6,1)) scsz=ALLTRIM(nj)+ ALLTRIM(bj)+ ALLTRIM(kcm) WordTable.Tables.item(1).Cell(jc+1,xq+2).Range.Text="&scsz" ENDIF NEXT j ENDIF SELECT jsrkb RETURN
附件1:jsmd.dbf 表结构 Field 字段名 字段类型 字段宽度 1 序号 N 4 2 姓名 C 6
附件2:教师任课表模板文件(grkbmb.doc) 教师任课表 教师:ABCDEF 2018年春学期
|
|