Using the SaveAs in Excel not working with Ruby

A

anon1m0us

Hi;
I need to save an Excel Spreadsheet with Ruby. I used the Save AND
SaveAs methods, but each time I get prompted "Do you want to save the
changes you made..." How can I save the workbook without this prompt.
In addition, is there away to add a timestamp to the save file
like.....application12122006.xls or any format that contains a time
stamp?
 
M

mully

How can I save the workbook without this prompt.

Where xl is your Excel Application object and wb is your Workbook
object...

xl.DisplayAlerts = 0
wb.SaveAs(xlsname)
xl.DisplayAlerts = 1
In addition, is there away to add a timestamp to the save file
like.....application12122006.xls or any format that contains a time
stamp?

Something like this...

xlsname = 'application' + Time.now.strftime("%m%d%y") + '.xls'

Mully
 
A

anon1m0us

Thanks...that did the trick!
Where xl is your Excel Application object and wb is your Workbook
object...

xl.DisplayAlerts = 0
wb.SaveAs(xlsname)
xl.DisplayAlerts = 1


Something like this...

xlsname = 'application' + Time.now.strftime("%m%d%y") + '.xls'

Mully
 
G

Gustav Paul

Hi;
I need to save an Excel Spreadsheet with Ruby. I used the Save AND
SaveAs methods, but each time I get prompted "Do you want to save the
changes you made..." How can I save the workbook without this prompt.
In addition, is there away to add a timestamp to the save file
like.....application12122006.xls or any format that contains a time
stamp?
Hey

I think you can use

book.close

passing either 1 or 0 (I can't remember which)
Also, I can't remember if you need to call SaveAs first.

This should work:

book = #get workbook
book.SaveAs "SomeFile.xls"
book.close(0)

Hope this helps
Gustav Paul
 
I

Ivor

I am guessing the (0) in close(0) refers to the number of the book that
is open, which could mean that if you had a book open and you open a new
book, then this will fail.

try close("SomeFile.xls") and let me know if that works. I know from the
VBA that you could refer to the book by using the filename as the reference.
the all open workbooks lie in a collection hence the need for a reference.

it's been a long time since I have done any VBA, which is a good thing!
ivor
 
A

anon1m0us

Ok, this code provides the date..
xlsname = 'application' + Time.now.strftime("%m%d%y") + '.xls'
If i want to add a time stamp to? is it ("%m%d%y%h%mm%s")???
 

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

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top