win32ole and autofilling

T

thebusyant

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
 
S

Siep Korteling

Does anyone know how to perform an autofill within an Excel workbook
via win32ole?
(...)
This more of a VBA question then a ruby problem.
On my excel 2003:


require 'win32ole'
xcel = WIN32OLE.new('excel.application')
xcel.visible = true
xcel.workbooks.add

xcel.range("A1:B1").value = 1

start1 = xcel.range("A1")
start2 = xcel.range("B1")
target1 = xcel.range("A1:A10")
target2 = xcel.range("B1:B10")

start1.autofill(target1)
start2.autofill(target2 , 2)
#this can also be done by putting 2 in B2 and
#setting start2 to range(B1:B2)


Regards,

Siep
 

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

Members online

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,234
Latest member
SkyeWeems

Latest Threads

Top