程序名: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年春学期
| 一 | 二 | 三 | 四 | 五 | |
上
午 | 1 |
|
|
|
|
|
2 |
|
|
|
|
| |
3 |
|
|
|
|
| |
下
午 | 4 |
|
|
|
|
|
5 |
|
|
|
|
| |
6 |
|
|
|
|
|
联系客服