Difference between revisions of "Windows OLE Automation in Ruby"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) |
PeterHarding (talk | contribs) |
||
| Line 1: | Line 1: | ||
=Examples= | =Examples= | ||
==Simple 1== | |||
<pre> | <pre> | ||
| Line 50: | Line 52: | ||
# ...and collect it. | # ...and collect it. | ||
GC.start | GC.start | ||
</pre> | |||
==Simple 2== | |||
Drop some data into Sheet11 and delete the other sheets. | |||
<pre> | |||
#!/usr/bin/env ruby | |||
# | |||
# Purpose: Exercise a few simple operations... | |||
# | |||
#-------------------------------------------------------------------------- | |||
require 'win32ole' | |||
excel = WIN32OLE.new('Excel.Application') | |||
excel.visible = TRUE | |||
book = excel.Workbooks.Add(); | |||
sheet = book.Worksheets('Sheet1'); | |||
sheet.Name = "Directions" | |||
sheet.Range('A1:D2').value = [['North','South','East','West'],[1,2,3,4]]; | |||
book.Worksheets('Sheet2').delete | |||
book.Worksheets('Sheet3').delete | |||
book.SaveAs('C:\temp\Workbook.xlsx') | |||
book.Close | |||
excel.quit | |||
</pre> | </pre> | ||
[[Category:Ruby]] | [[Category:Ruby]] | ||
[[Category:OLE]] | [[Category:OLE]] | ||
Revision as of 14:52, 29 August 2009
Examples
Simple 1
#!/usr/bin/env ruby
#
# Purpose: Exercise a few simple operations...
#
#--------------------------------------------------------------------------
require 'win32ole'
# You can, of course, iterate over the Workbooks collection:
#
# for workbook in excel.Workbooks
# # ...code...
# end
excel = WIN32OLE.new('Excel.Application')
excel.visible = TRUE
book = excel.Workbooks.Add();
# book = excel.ActiveWorkbook
sheet = book.Worksheets(1);
sheet.Name = "Directions"
sheet.Range('A1:D1').value = ['North','South','East','West'];
book.SaveAs('C:\temp\Workbook.xlsx')
book.Close
book = excel.Workbooks.Open('C:\temp\Workbook.xlsx')
sheet = book.Worksheets(1);
sheet.setproperty('Cells', 3, 2, 10) # => The B1 cell value is 10.
book.Save
book.Close
excel.quit
# lose the reference so that excel can be garbage collected
excel = nil
# ...and collect it.
GC.start
Simple 2
Drop some data into Sheet11 and delete the other sheets.
#!/usr/bin/env ruby
#
# Purpose: Exercise a few simple operations...
#
#--------------------------------------------------------------------------
require 'win32ole'
excel = WIN32OLE.new('Excel.Application')
excel.visible = TRUE
book = excel.Workbooks.Add();
sheet = book.Worksheets('Sheet1');
sheet.Name = "Directions"
sheet.Range('A1:D2').value = [['North','South','East','West'],[1,2,3,4]];
book.Worksheets('Sheet2').delete
book.Worksheets('Sheet3').delete
book.SaveAs('C:\temp\Workbook.xlsx')
book.Close
excel.quit