| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 141 人关注过本帖
标题:如何修改sckbdy.prg程序自动生成教师个人任课表
只看楼主 收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2018-1-4
结帖率:63.64%
  已结贴   问题点数:20  回复次数:3   
如何修改sckbdy.prg程序自动生成教师个人任课表
现有下列6个文件:
 1、生成个人任课表的程序文件sckbdy.prg(待完善)
 2、学校日课总表 rkzb201803.dbf
 3、各班教师任课表文件 jsrkb.dbf
 4、教师名单表文件 jsmd .dbf
 5、教师个人任课表模板文件 grkbmb.docx
 6、最终生成的教师个人任课表(样表)文件 grkb.docx

    利用教师名单表文件 jsmd .dbf、各班教师任课表文件 jsrkb.dbf和学校日课总表 rkzb201803.dbf 三个文件自动生成个人任课表,

由于本人是新手,编写的sckbdy.prg程序出现点问题,但不知问题出自哪里?请各位高手指点迷津,帮忙修改一下,急用!万分感谢!!!

(如能提供完整代码则更好 !)
附件: 您没有浏览附件的权限,请 登录注册
2018-04-04 06:57
gs2536785678
Rank: 2
等 级:论坛游民
威 望:1
帖 子:11
专家分:10
注 册:2017-7-16
  得分:10 
没有工夫看哪 很对不起了。
2018-04-04 09:15
schtg
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:375
专家分:510
注 册:2012-2-29
  得分:10 
源码:http://bbs.bccn.net/thread-485653-2-1.html
我将楼上的代码添加了写入word的语句,就成为下面的程序,思路、源码均为楼上朋友的哈。

*|* test.prg

 SET TALK OFF
 SET SAFETY OFF
 CLOSE ALL
 CLEAR

 wjm=SYS(5)+SYS(2003)+"\grkbmb.doc"
 WordApp=CREATEOBJECT("Word.application")

 USE jsmd ALIAS jsmd IN 0
 USE jsrkb ALIAS jsrkb IN 0
 USE rkzb201803 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 18
             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
 ======================================
模板改了一下:
附件: 您没有浏览附件的权限,请 登录注册
2018-04-04 10:28
王咸美
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2018-1-4
  得分:0 
@schtg 能将test.prg程序修改成不含过程文件的代码吗?我想将以上代码放到表单的click事件中,还望不吝赐教。
2018-04-08 08:00







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074620 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved