Delete row in Excel 2002 worksheet

G

Guest

In VFP 7, my application can perform the following command correctly using
Excel 2000, but not in Excel 2002:

goExcel = CREATEOBJECT("Excel.Application")
WITH goExcel
.Workbooks.Open(lcXlsName)
.Rows("5:5").Delete
ENDWITH

If I record this task in an Excel Macro and edit it using the Macro Editor,
I get the following:

.Rows("5:5").Select
.Selection.Delete Shift:=PxlUp
.Range("A5").Select

If I add <space>Shift:=PxlUp after the Delete command, the compiler returns
a syntax error.

How can I run Excel commands in VFP 7 like this? What is the correct syntax
for it?

Thanks
 
T

Tom Ogilvy

Try

goExcel = CREATEOBJECT("Excel.Application")
WITH goExcel
.Workbooks.Open(lcXlsName)
.ActiveSheet.Rows("5:5").Delete
ENDWITH

The constant doesn't have a "P" in it

? xlshiftup
-4162
? xlup
-4162

if you are using late binding, use the number (-4162) instead of the named
constant, but when deleting a row, you don't need it. The only option is to
shift up.
 
G

Guest

Ruth,
I admit I have not automated Excel from VFP but you may want to try the
following
instead of .Rows(5:5).Delete, try .Rows("5:5").EntireRow.delete

Also the other error you are getting may be due to the wrong constant value
and hence you may like to try
Excel.xlUp instead of PxlUp

Alok Joshi
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top