From: Bernard Kenik Date: 2008-03-17T09:38:20+09:00 Subject: Re: win32ole and autofill > > Subject: > win32ole and autofilling > From: > "thebusyant@gmail.com" > Date: > Sun, 16 Mar 2008 03:44:53 +0900 > To: > ruby-talk@ruby-lang.org (ruby-talk ML) > > To: > ruby-talk@ruby-lang.org (ruby-talk ML) > Newsgroups: > comp.lang.ruby > > thebusyant wrote: > Does anyone know how to perform an autofill within an Excel workbook > via win32ole? > > I've tried a couple of things that don't work and I'm now stumped. > > e.g. > worksheet.Range("F2").AutoFill #=> yields "parameter not optional", > so we're on the right track, but obviously need to tell the worksheet > *where* to autofill > > worksheet.Range("F2").AutoFill("F3:F20") # gives Unable to get the > AutoFill property of the Range class > > worksheet.Range("F2").AutoFill("Destination" => "F3:F20", "Type"=>0) # > gives Unable to get the AutoFill property of the Range class > > worksheet.Range("F2").AutoFill("Destination" => 'Range("F3:F20")', > "Type" => 0) # gives Unable to get the AutoFill property of the Range > class > > worksheet.Range("F2").AutoFill("Destination" => 'Range("F3:F20")', > "Type"=>"0") # gives Unable to get the AutoFill property of the Range > class > > ??? > > The VBA code for autofilling looks like this, but i'm not sure what > syntax I should use for win32ole > Range("F2").Select > Selection.AutoFill Destination:=Range("F3:F20"), > Type:=xlFillDefault > > TIA > > The correct Ruby syntax is: worksheet.Range("F2").AutoFill( {"Destination" => "Range(F3:F20)", "Type" => 0 } ) Note the braces ... you to pass an hash Hopes this helps renard