![]() |
#2
王咸美2022-04-25 16:18
问题已解决
** ActiveX 控件事件 *** LPARAMETERS node CLOSE DATABASES wjm="F:\temp2\bjkbmb3.doc" && 班级课程表模板(含有标题行的空表) PUBLIC cnj,cbj,cxkmc,i WordApp=CREATEOBJECT("Word.application") WordApp.Visible =.t. SELECT 0 Use jsrkb20190101 alias bjb LOCATE FOR ALLTRIM(bjb.NJ)==ALLTRIM(node.parent.Text) AND ALLTRIM(bjb.BJ)==ALLTRIM(Node.text) IF FOUND() cnj=ALLTRIM(Node.parent.Text) cbj=ALLTRIM(Node.text) WAIT WINDOW '正在生成" '+cnj+cbj+' "的日课表……' NOWAIT SELECT * from kb20190101 where nj=cnj and bj=cbj into cursor bjkb SELECT bjkb WordTable=WordApp.Application.Documents.Open(wjm) && 关键 wordapp.selection wordapp.Selection.InsertAfter(ALLTRIM("&cnj&cbj")) && 在模板文件标题行插入年级、班级 SELECT bjkb FOR i=1 TO 5 FOR j=1 TO 6 cxkmc=ALLTRIM(EVALUATE("bjkb."+"zhou"+TRANSFORM(i)+TRANSFORM(j))) WordTable.Tables.item(1).Cell(j*2,i+2).Range.Text=cxkmc SELECT bjb FOR k=1 to FCOUNT() IF FIELD(k)=cxkmc WordTable.Tables.item(1).Cell(j*2+1,i+2).Range.Text=EVALUATE(FIELD(k)) ENDIF ENDFOR ENDFOR endfor SELECT bjkb USE SELECT bjb WAIT CLEAR filename="F:\temp2\"+cnj+cbj+"课程表.doc" * WordApp.ActiveDocument.PrintOut WordApp.Documents(1).SaveAs(filename) &&自动保存文件 WordApp.ActiveDocument.Close wordapp.application.quit messagebox("班级日课表的WORD文档生成完毕!",64,"提示:") ENDIF |
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
OleControl1.NodeClick代码:
*** ActiveX 控件事件 ***
LPARAMETERS node
CLOSE DATABASES
wjm="F:\temp2\jkbmb3.doc" && 班级课程表模板(含有标题行的空表)
PUBLIC cnj,cbj,cxkmc,i
WordApp=CREATEOBJECT("Word.application")
WordApp.Visible =.t.
SELECT 0
Use jsrkb20190101 alias bjb
cnj=bjb.nj
cbj=bjb.bj && 红色代码不知如何修改,请高手指教!
WAIT WINDOW '正在生成" '+cnj+cbj+' "的日课表……' NOWAIT
SELECT * from kb20190101 where nj=cnj and bj=cbj into cursor bjkb
SELECT bjkb
WordTable=WordApp.Application.Documents.Open(wjm) && 关键
wordapp.selection
wordapp.Selection.InsertAfter(ALLTRIM("&cnj&cbj")) && 在模板文件标题行插入年级、班级
SELECT bjkb
FOR i=1 TO 5
FOR j=1 TO 6
cxkmc=ALLTRIM(EVALUATE("bjkb."+"zhou"+TRANSFORM(i)+TRANSFORM(j)))
WordTable.Tables.item(1).Cell(j*2,i+2).Range.Text=cxkmc
SELECT bjb
FOR k=1 to FCOUNT()
IF FIELD(k)=cxkmc
WordTable.Tables.item(1).Cell(j*2+1,i+2).Range.Text=EVALUATE(FIELD(k))
ENDIF
ENDFOR
ENDFOR
endfor
SELECT bjkb
USE
SELECT bjb
WAIT CLEAR
filename="F:\temp2\"+cnj+cbj+"课程表.doc"
WordApp.ActiveDocument.PrintOut
WordApp.Documents(1).SaveAs(filename) &&自动保存文件
WordApp.ActiveDocument.Close
wordapp.application.quit
messagebox("班级日课表的WORD文档生成完毕!",64,"提示:")
return
[此贴子已经被作者于2022-4-24 15:30编辑过]