回 帖 发 新 帖 刷新版面

主题:xls中有5个sheet表,其中3个是空表,请问如何用vfp命令删除3个空表?

xls中有5个sheet表,其中3个是空表,请问如何用vfp命令删除3个空表?

回复列表 (共2个回复)

沙发

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.

板凳

谢谢,非常感谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册