To delete Excel Row if Row is Empty

Question
VFP 9  with this code

PUBLIC MyExcel as Excel.application
Myfile=SYS(5)+SYS(2003)+"\test.xls"
MyExcel = createobject("Excel.Application")
MyWorkbook = MyExcel.workbooks.open(Myfile)
MyExcel.Visible = .t.

  I want a code to delete Row in Excel
If column “A”  to  “F”  are Empty value or Null value. 
Answer
Hi Tommy,
   You can try somethig like

SET TALK OFF
CLEAR ALL
CLEAR

PUBLIC MyExcel AS Excel.APPLICATION
PUBLIC myworkbook AS Excel.Workbook
PUBLIC myworksheet AS Excel.Worksheet

Myfile=SYS(5)+SYS(2003)+"\test.xls"
MyExcel = CREATEOBJECT("Excel.Application")
MyExcel.ReferenceStyle= -4150  && xlR1C1

myworkbook = MyExcel.workbooks.OPEN(Myfile)
myworksheet=myworkbook.Sheets(1)
*!*   MyExcel.VISIBLE = .T.
exrow=1
DO WHILE .T.   && Till all the rows are checked
  valA=myworksheet.Cells(m.exrow,1).VALUE
  IF m.valA="#EOF#"   && Check for the First Column for #EOF#...I've choosen this as my File Delimeter
     EXIT
  ELSE
     emptyrow=.T.
     FOR excol=1 TO 6 && Check for Columns 1 to 6 (A-F)
        IF !ISNULL(myworksheet.Cells(m.exrow,m.excol).VALUE) AND  !EMPTY(myworksheet.Cells(m.exrow,m.excol).VALUE)
           m.emptyrow=.F.
        ENDIF
     ENDFOR
     IF !m.emptyrow   && The row is not empty
        exrow=m.exrow+1
     ELSE
        myworksheet.ROWS(m.exrow).DELETE(-4162)      && Delete the row and shift up the rest
     ENDIF
  ENDIF
ENDDO
myworkbook.SAVE
myworkbook.Close
MyExcel.QUIT
RELEASE myworkbook,myworksheet,MyExcel
SET TALK ON
RETURN

Không có nhận xét nào:

Đăng nhận xét