>
> Subject:
> win32ole and autofilling
> From:
> "thebusyant / gmail.com" <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