excel关闭特定的工作表

时间:2016-08-08 03:32:26

标签: visual-foxpro excel-automation

我编写了一个从excel生成报告的foxpro程序。在最后的过程中,程序生成了两(2)个excel。我创建了一个新的工作簿,并将两个输出excel表复制到新的工作簿中。如何关闭两个excel文件?

我的代码

**creating new workbook
XL = tmp.application
XL.workbooks.ADD()
XL.visible = .T.
XLsheet = XL.ActiveSheet

**opening the aging excel output
sheetdir=SYS(5)+SYS(2003)+"\temp\EXCEL1.xls"
XL.workbooks.OPEN(sheetdir)
XL.worksheets.COPY(XLsheet)
XL.ActiveSheet.UsedRange.EntireColumn.Autofit
XL.ActiveSheet.name="P1"
xl.cells(1,1).value="xx"

XLsheet = XL.ActiveSheet
**opening the unvalidated excel output
sheetdir=SYS(5)+SYS(2003)+"\temp\EXCEL2.xls"
XL.workbooks.OPEN(sheetdir)
XL.worksheets.COPY(XLsheet)
XL.ActiveSheet.UsedRange.EntireColumn.Autofit
XL.ActiveSheet.name="P2"

2 个答案:

答案 0 :(得分:0)

您可以使用Workbook的Close()方法。

PS:请检查您之前的问题并关闭< g>它们。

答案 1 :(得分:0)

这就是我的所作所为:

#define xlNormal 39  && defines the version of Excel
oxl = createobject("Excel.Application")
oxl.Workbooks.add()
oBook = oxl.ActiveWorkbook()
oxl.visible = .f.
osheet = oxl.activesheet

 && update the worksheet

 oxl.DisplayAlerts = .f. && do not invoke any dialog 

 oBook.saveas(mfilex,xlNormal )
 && you can use oBook.Close() if you just want to close the book without saving

 oxl.quit()
 release oxl