[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

EXCEL Ruby not working

anon1m0us

12/15/2006 5:58:00 PM

I get a file name in the directory and modify the cells with making
bold etc.
when excel.visible=TRUE it works. However, when excel.visible=FALSE
nothing happens.
Why?



newdir=Dir.getwd
x=1
excel = WIN32OLE::new("excel.application")
excel.visible=FALSE
Dir["*.xls"].each { |file|


book = excel.Workbooks.Open("#{newdir}\\#{file}")
sheetname=File.basename("#{file.upcase}",".XLS")
excel.Worksheets("#{sheetname}").Name="Sheet1"

excel.Worksheets("Sheet1").Range("A:A").NumberFormat = ("yyyy-mm-dd
hh:mm:ss")
excel.Worksheets("Sheet1").Range("a1:g1").Font.Bold = 1
excel.Worksheets("Sheet1").Range("a1:g1").Interior.ColorIndex = 6
excel.Worksheets("Sheet1").Columns.AutoFit
excel.Worksheets("Sheet1").Select
excel.Worksheets("Sheet1").Rows("2:2").Select
excel.ActiveWindow.FreezePanes =1

excel.DisplayAlerts = 0
book.SaveAs("#{file}")
excel.DisplayAlerts = 1
book.close true

}
excel.quit()

7 Answers

Chris Hulan

12/15/2006 7:48:00 PM

0


anon1m0us wrote:
> I get a file name in the directory and modify the cells with making
> bold etc.
> when excel.visible=TRUE it works. However, when excel.visible=FALSE
> nothing happens.
> Why?
....

Tried your code and it seems that 'Save as...' is putting the saved
file into 'My Documents' rather than overwriting the original (which is
in the same dir as where I saved your code into a file).

Cheers
Chris

Tim Pease

12/15/2006 8:13:00 PM

0

On 12/15/06, ChrisH <chris.hulan@gmail.com> wrote:
>
> anon1m0us wrote:
> > I get a file name in the directory and modify the cells with making
> > bold etc.
> > when excel.visible=TRUE it works. However, when excel.visible=FALSE
> > nothing happens.
> > Why?
> ...
>
> Tried your code and it seems that 'Save as...' is putting the saved
> file into 'My Documents' rather than overwriting the original (which is
> in the same dir as where I saved your code into a file).
>

I have run into trouble in the past using relative pathnames for MS
Office files (open, saving). Try using an absolute pathname when you
(a) open the file and (b) save the file. That should put it in the
correct location.

Blessings,
TwP

Stephan Kämper

12/16/2006 9:06:00 AM

0

Hi,

anon1m0us wrote:
> I get a file name in the directory and modify the cells with making
> bold etc.
> when excel.visible=TRUE it works. However, when excel.visible=FALSE
> nothing happens.
> Why?
>
>
>
> newdir=Dir.getwd
>
> }
> excel.quit()
>

This will look more like Ruby is you don't type the parentheses, and
it's less typing.

Speaking of Excel, I mostly use spreadsheet and parseexcel, which are
both available here:

http://rubyforge.org/frs/?group_id=678&relea...

And BTW, you might consider putting your code in a begin ... rescue ...
ensure ... end block and, well, ensure that excel it actually quit.
Otherwise you might (will) end up with 'dangling' excel instances if (or
when) the code raises an exception.
If/when that happens, you have to quit the dangling Excel app. from the
task manager before you can run your program again (well without
problems, that is).
This happened every now and then on a Windows (2K) machine until I made
sure that excel.quit is actually executed in case of an error.

Anyway, I think the above mentioned modules are easier to use and
understand than using OLE automation. And the code also look a lot more
like Ruby.

Happy rubying

Stephan



Li Chen

12/16/2006 3:00:00 PM

0

Stephan Kämper wrote:

> Speaking of Excel, I mostly use spreadsheet and parseexcel, which are
> both available here:
>
> http://rubyforge.org/frs/?group_id=678&relea...

Is it possible to draw graphics with it in Excel?

Li

--
Posted via http://www.ruby-....

Stephan Kämper

12/16/2006 3:18:00 PM

0

Li Chen wrote:
> Stephan Kämper wrote:
>
>> Speaking of Excel, I mostly use spreadsheet and parseexcel, which are
>> both available here:
>>
>> http://rubyforge.org/frs/?group_id=678&relea...
>
> Is it possible to draw graphics with it in Excel?
>

I never tried to, so I'm not sure.

Stephan

anon1m0us

12/19/2006 1:20:00 PM

0

The main issue is still unresolved....why when I have the excel not
visible NOTHING happens. Only when i make excel =true(visable) then
everyting occurs?



Stephan Kämper wrote:
> Li Chen wrote:
> > Stephan Kämper wrote:
> >
> >> Speaking of Excel, I mostly use spreadsheet and parseexcel, which are
> >> both available here:
> >>
> >> http://rubyforge.org/frs/?group_id=678&relea...
> >
> > Is it possible to draw graphics with it in Excel?
> >
>
> I never tried to, so I'm not sure.
>
> Stephan

anon1m0us

12/19/2006 1:20:00 PM

0

The main issue is still unresolved....why when I have the excel not
visible NOTHING happens. Only when i make excel =true(visable) then
everyting occurs?



Stephan Kämper wrote:
> Li Chen wrote:
> > Stephan Kämper wrote:
> >
> >> Speaking of Excel, I mostly use spreadsheet and parseexcel, which are
> >> both available here:
> >>
> >> http://rubyforge.org/frs/?group_id=678&relea...
> >
> > Is it possible to draw graphics with it in Excel?
> >
>
> I never tried to, so I'm not sure.
>
> Stephan