From: benjohn@... Date: 2006-11-21T01:11:38+09:00 Subject: Re: How to translate a VBA code into Ruby script > On 11/20/06, Li Chen wrote: >> Hi all, >> >> I need to use WIN32OLE to do some Excel automation. I read some >> documents and search google.The examples of how to use WIN32OLE are >> almost the same. But none of them show how to translate a VBA code >> into >> Ruby. Here are the VBA codes: >> >> Sub AddNew() >> Set NewBook = Workbooks.Add >> With NewBook >> .Title = "All Sales" >> .Subject = "Sales" >> .SaveAs Filename:="Allsales.xls" >> End With >> End Sub >> >> >> And here are some Ruby codes: > require 'win32ole' > > excel=WIN32OLE.new('Excel.Application') > #Set NewBook = Workbooks.Add > newbook=excel.Workbooks.Add > #With NewBook > # .Title = "All Sales" > newbook.Title = "All Sales" > # .Subject = "Sales" > newbook.Subject = "Sales" > # .SaveAs Filename:="Allsales.xls" > newbook.SaveAs Filename => "Allsales.xls" I expect you can also do: newbook=excel.Workbooks.Add newbook.instance_eval do Title = "All Sales" Subject = "Sales" SaveAs = Filename:="Allsales.xls" end :) But I'm guessing. I'd be interested to know if it works, but it would be a closer mapping to VB's "with" expression.