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