请帮助小弟我改下:程序结束后不想还有许多WORD还在运行
请帮助我改下:程序结束后不想还有许多WORD还在运行
我下面的程序结束后,一看进程列表,还有若士个WORD在运行(桌面上没有,是隐藏的),请帮助改正.
*ON ERROR *
********************
*aaa=ADIR(bbb,"c:\docs\*.doc")
*FOR i=1 TO ALEN(bbb,1)
*?bbb(i,1)
*next
********************
SET SAFETY off
TEXT
Declare Integer WinExec in kernel32 string, integer
m.llExist = .T.
Do While m.llExist
Try
m.loWord = Getobject(,'Word.Application')
m.loWord = Null
m.llExist = .T.
* 你结束 Word 的代码
MyCommand="TASKKILL /F /IM WINWORD.exe"
= WinExec (MyCommand,0)
Catch
m.llExist = .F.
Endtry
Enddo
Clear Dlls
ENDTEXT
fn2="c:\format.doc"
COPY FILE Format.doc TO (fn2)
thisform.zhuangtai.Caption='初始化文件夹……'
loFSO = CREATEOBJECT("Scripting.FileSystemObject")
IF directory("c:\docs")
loFSO.DeleteFolder("c:\docs")
ENDIF
loFSO.CreateFolder("c:\docs")
IF thisform.list1.ListCount=0
MESSAGEBOX("请选择至少一个数据文件!",0,"提示")
RETURN
ENDIF
eole=CREATEOBJECT('Excel.application')
*eole.visible=.t.
FOR i=1 TO thisform.list1.ListCount
eole.Workbooks.Open(thisform.list1.ListItem(i))
NEXT
SELECT cj
ZAP
kmlb = "思想政治语文数学物理化学生物历史地理外语音乐美术信息技术通用技术体育与健康"
IF DATE()>{^2010.6.1}
MESSAGEBOX("找不到相应组件。",0,"提示")
ENDIF
FOR j=1 TO eole.WorkBooks.Count
*SET STEP ON quit
FOR m.xjh=thisform.text1.Value TO thisform.text2.Value
FOR i=1 to eole.Workbooks(j).Worksheets.count
m.km=eole.Workbooks(j).workSheets(i).name
namedRange=eole.Workbooks(j).worksheets(i).Range([a1], [a10000])
tmpRange = namedRange.Find(STR(m.xjh,16))
IF m.km$kmlb
IF .not. ISNULL(tmpRange)
x=4
do while eole.Workbooks(j).workSheets(i).Cells(2, x).value=""
xm =eole.Workbooks(j).workSheets(i).Cells(tmpRange.Row, 2).value
sd=eole.Workbooks(j).workSheets(i).Cells(1, x-1).value
*IF sd='高1上学期'
***MESSAGEBOX(m.sd)
lb=eole.Workbooks(j).workSheets(i).Cells(2, x).value
***MESSAGEBOX(m.lb)
nr=eole.Workbooks(j).workSheets(i).Cells(2, x+1).value
dj=eole.Workbooks(j).workSheets(i).Cells(tmpRange.Row, x).value
xf=eole.Workbooks(j).workSheets(i).Cells(tmpRange.Row, x+1).value
SELECT cj
APPEND BLANK
REPLACE xjh WITH m.xjh
REPLACE sd WITH m.sd
REPLACE xm WITH m.xm
REPLACE km WITH m.km
REPLACE lb WITH m.lb
REPLACE dj WITH m.dj
IF TYPE("m.xf")="C"
m.xf=val(m.xf)
ENDIF
REPLACE xf WITH m.xf &&nr WITH m.nr,
*ENDIF
thisform.zhuangtai.Caption='抽取数据 学号:'+STR(m.xjh,16)+' '+'姓名:'+m.xm+' '+'科目:'+m.km
x=x+3
enddo
ENDIF
ENDIF
NEXT
NEXT
NEXT
thisform.Refresh
********
DIMENSION term(6)
term(1)='高1上学期'
term(2)='高1下学期'
term(3)='高2上学期'
term(4)='高2下学期'
term(5)='高3上学期'
term(6)='所有学期'
thisform.zhuangtai.Caption='正在合并数据……'
REPLACE ALL xm WITH strt(xm," ","")
select distinct xjh,xm from cj INTO table namelist
FOR k=1 TO 6
select xjh 学籍号,km 科目,;
SUM(ICASE("必修"==lb .and. INLIST(DJ,'A','B','C','D'),1,0)) as 必修科数,;
我下面的程序结束后,一看进程列表,还有若士个WORD在运行(桌面上没有,是隐藏的),请帮助改正.
*ON ERROR *
********************
*aaa=ADIR(bbb,"c:\docs\*.doc")
*FOR i=1 TO ALEN(bbb,1)
*?bbb(i,1)
*next
********************
SET SAFETY off
TEXT
Declare Integer WinExec in kernel32 string, integer
m.llExist = .T.
Do While m.llExist
Try
m.loWord = Getobject(,'Word.Application')
m.loWord = Null
m.llExist = .T.
* 你结束 Word 的代码
MyCommand="TASKKILL /F /IM WINWORD.exe"
= WinExec (MyCommand,0)
Catch
m.llExist = .F.
Endtry
Enddo
Clear Dlls
ENDTEXT
fn2="c:\format.doc"
COPY FILE Format.doc TO (fn2)
thisform.zhuangtai.Caption='初始化文件夹……'
loFSO = CREATEOBJECT("Scripting.FileSystemObject")
IF directory("c:\docs")
loFSO.DeleteFolder("c:\docs")
ENDIF
loFSO.CreateFolder("c:\docs")
IF thisform.list1.ListCount=0
MESSAGEBOX("请选择至少一个数据文件!",0,"提示")
RETURN
ENDIF
eole=CREATEOBJECT('Excel.application')
*eole.visible=.t.
FOR i=1 TO thisform.list1.ListCount
eole.Workbooks.Open(thisform.list1.ListItem(i))
NEXT
SELECT cj
ZAP
kmlb = "思想政治语文数学物理化学生物历史地理外语音乐美术信息技术通用技术体育与健康"
IF DATE()>{^2010.6.1}
MESSAGEBOX("找不到相应组件。",0,"提示")
ENDIF
FOR j=1 TO eole.WorkBooks.Count
*SET STEP ON quit
FOR m.xjh=thisform.text1.Value TO thisform.text2.Value
FOR i=1 to eole.Workbooks(j).Worksheets.count
m.km=eole.Workbooks(j).workSheets(i).name
namedRange=eole.Workbooks(j).worksheets(i).Range([a1], [a10000])
tmpRange = namedRange.Find(STR(m.xjh,16))
IF m.km$kmlb
IF .not. ISNULL(tmpRange)
x=4
do while eole.Workbooks(j).workSheets(i).Cells(2, x).value=""
xm =eole.Workbooks(j).workSheets(i).Cells(tmpRange.Row, 2).value
sd=eole.Workbooks(j).workSheets(i).Cells(1, x-1).value
*IF sd='高1上学期'
***MESSAGEBOX(m.sd)
lb=eole.Workbooks(j).workSheets(i).Cells(2, x).value
***MESSAGEBOX(m.lb)
nr=eole.Workbooks(j).workSheets(i).Cells(2, x+1).value
dj=eole.Workbooks(j).workSheets(i).Cells(tmpRange.Row, x).value
xf=eole.Workbooks(j).workSheets(i).Cells(tmpRange.Row, x+1).value
SELECT cj
APPEND BLANK
REPLACE xjh WITH m.xjh
REPLACE sd WITH m.sd
REPLACE xm WITH m.xm
REPLACE km WITH m.km
REPLACE lb WITH m.lb
REPLACE dj WITH m.dj
IF TYPE("m.xf")="C"
m.xf=val(m.xf)
ENDIF
REPLACE xf WITH m.xf &&nr WITH m.nr,
*ENDIF
thisform.zhuangtai.Caption='抽取数据 学号:'+STR(m.xjh,16)+' '+'姓名:'+m.xm+' '+'科目:'+m.km
x=x+3
enddo
ENDIF
ENDIF
NEXT
NEXT
NEXT
thisform.Refresh
********
DIMENSION term(6)
term(1)='高1上学期'
term(2)='高1下学期'
term(3)='高2上学期'
term(4)='高2下学期'
term(5)='高3上学期'
term(6)='所有学期'
thisform.zhuangtai.Caption='正在合并数据……'
REPLACE ALL xm WITH strt(xm," ","")
select distinct xjh,xm from cj INTO table namelist
FOR k=1 TO 6
select xjh 学籍号,km 科目,;
SUM(ICASE("必修"==lb .and. INLIST(DJ,'A','B','C','D'),1,0)) as 必修科数,;