Using the SaveAs in Excel not working with Ruby

Discussion in 'Ruby' started by anon1m0us, Dec 12, 2006.

  1. anon1m0us

    anon1m0us Guest

    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?
     
    anon1m0us, Dec 12, 2006
    #1
    1. Advertisements

  2. anon1m0us

    mully Guest

    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
     
    mully, Dec 12, 2006
    #2
    1. Advertisements

  3. anon1m0us

    anon1m0us Guest

    Thanks...that did the trick!
     
    anon1m0us, Dec 12, 2006
    #3
  4. anon1m0us

    Gustav Paul Guest

    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
     
    Gustav Paul, Dec 12, 2006
    #4
  5. anon1m0us

    Ivor Guest

    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
     
    Ivor, Dec 12, 2006
    #5
  6. anon1m0us

    anon1m0us Guest

    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")???
     
    anon1m0us, Dec 12, 2006
    #6
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.