主题:xls中有5个sheet表,其中3个是空表,请问如何用vfp命令删除3个空表?
lijianqiu
[专家分:0] 发布于 2012-06-05 17:44:00
xls中有5个sheet表,其中3个是空表,请问如何用vfp命令删除3个空表?
回复列表 (共2个回复)
沙发
sdta [专家分:570] 发布于 2012-06-05 21:53:00
EOLE=CREATEOBJECT('EXCEL.APPLICATION') && 创建Excel对象
EOLE.SHEETSINNEWWORKBOOK=5 && 设置新增工作薄的工作表数,新建工作表数量定为5个
[color=FF0000]EOLE.WORKBOOKS.ADD && 添加新工作簿[/color]
EOLE.SHEETS(1).CELLS(1,1).VALUE="工作表1中添加数据" && 设置单元格的值
EOLE.SHEETS(3).CELLS(1,1).VALUE="工作表三中添加数据" && 设置单元格的值
JS="" && 保存无数据的工作表的编号
*-----判断工作表是否为空
FOR I=1 TO EOLE.WORKSHEETS.COUNT && 当前工作薄中工作表总数
ROW = EOLE.SHEETS(I).USEDRANGE.ROWS.COUNT && 有数据的行数
COL = EOLE.SHEETS(I).USEDRANGE.COLUMNS.COUNT && 有数据的列数
IF ROW=1 AND COL=1 AND EMPTY(EOLE.SHEETS(I).CELLS(1,1).VALUE)
MESSAGEBOX("工作表 "+TRANSFORM(I)+" 中无数据")
JS=JS+TRANSFORM(I)+IIF(I<EOLE.WORKSHEETS.COUNT,",","")
ENDIF
ENDFOR
*-----删除数据为空的工作表
FOR I=1 TO LEN(JS) && 工作薄中工作表数<10
IF SUBSTR(JS,I,1)!=","
EOLE.WORKSHEETS("Sheet"+SUBSTR(JS,I,1)).DELETE && 删除工作表
ENDIF
ENDFOR
EOLE.VISIBLE=.T.
板凳
lijianqiu [专家分:0] 发布于 2012-06-05 22:02:00
谢谢,非常感谢
我来回复