*The documentation on sorting a table in Excel is lacking
*The syntax for using the sort object is as follows
public oleapp
oleapp=Createobject("excel.application")
*There are 12 parameters:
lkey1='oleapp.Range("a1")' && Column you want to sort
lorder1=1 && 1 - Ascending 2 - Decending (default 1)
ltype="" && Leave Blank (default blank)
lkey2='oleapp.Range("b1")' && Second Column (default blank)
lorder2=1 && same as above (default 1)
lkey3='oleapp.Range("c1")' && Third Column (default blank)
lorder3=1 && same as above (default 1)
lheader=1 && Does table have Header 0-Guess,1-Yes,2-No (Default 0)
&&lcustom= skip altogher
lmatch=.f. && match case .t.=Yes .f.=NO (default .f.)
&&lorient= Skip altogether
lsortmeth=1 && not sure if used (default 1)
ldataopt1=0 && Sort normally, by month, day, etc (default 0)
ldataopt2=0 && Same as opt1
ldataopt3=0 && Same as opt2
oleapp.Visible=.T.
l_file="c:\test.csv" && any file will do that opens natively in excel"
oleapp.Workbooks.Open(l_file)
lrange="a2:iv65536"
oleapp.Range(lrange).Sort(&lkey1) && Simplest sort using defaults
&& sorting using variables
oleapp.Range(lrange).Sort(&lkey1,lorder1,ltype,&lkey2,lorder2,&lkey3,lorder3,lheader,,lmatch,,lsortmeth,ldataopt1,ldataopt2,ldataopt3)
&& sorting with values
oleapp.Range("a2:iv65536").Sort(oleapp.Range("a1"),1,,oleapp.Range("b1"),1,oleapp.Range("c1"),1,1,,.f.,,1,0,0,0)
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.