Difference between revisions of "Ruby and Windows Automation"

From PeformIQ Upgrade
Jump to navigation Jump to search
Line 50: Line 50:
* [http://msdn.microsoft.com/en-us/library/bb251061.aspx PowerPoint]
* [http://msdn.microsoft.com/en-us/library/bb251061.aspx PowerPoint]


=Constants=
From: http://ruby-doc.org/core/classes/WIN32OLE.html
<pre>
module EXCEL_CONST
end
excel = WIN32OLE.new('Excel.Application')
WIN32OLE.const_load(excel, EXCEL_CONST)
puts EXCEL_CONST::XlTop # => -4160
puts EXCEL_CONST::CONSTANTS['_xlDialogChartSourceData'] # => 541
WIN32OLE.const_load(excel)
puts WIN32OLE::XlTop # => -4160
module MSO
end
WIN32OLE.const_load('Microsoft Office 9.0 Object Library', MSO)
puts MSO::MsoLineSingle # => 1
</pre>
<pre>
WIN32OLE.new('Excel.Application') # => Excel OLE Automation WIN32OLE object.
WIN32OLE.new('{00024500-0000-0000-C000-000000000046}') # => Excel OLE Automation WIN32OLE object.
</pre>


[[Category:Ruby]]
[[Category:Ruby]]
[[Category:Microsoft Office Automation]]
[[Category:Microsoft Office Automation]]

Revision as of 08:48, 12 March 2010

References

Functions

Miscellaneous function in the API...

excel = WIN32OLE.new('Excel.Application')

book = excel.Workbooks.Add()

sheet = book.Worksheets(1)

excel.Visible = true

range = sheet.Range('A1').Resize(data.size, data.first.size)
range.Value = data

sheet.Rows(1).AutoFilter()

iTunes

require 'win32ole'

app = WIN32OLE.new('iTunes.Application')

data = []

app.LibraryPlaylist.Tracks.each do |track|
  if not track.Podcast
    data << [track.Artist, track.Year, track.Album, track.Name]
  end
end

data.sort!

data.insert(0, ['ARTIST', 'YEAR', 'ALBUM', 'NAME'])

MSDN Links

Constants

Constants

From: http://ruby-doc.org/core/classes/WIN32OLE.html

module EXCEL_CONST
end
excel = WIN32OLE.new('Excel.Application')
WIN32OLE.const_load(excel, EXCEL_CONST)
puts EXCEL_CONST::XlTop # => -4160
puts EXCEL_CONST::CONSTANTS['_xlDialogChartSourceData'] # => 541

WIN32OLE.const_load(excel)
puts WIN32OLE::XlTop # => -4160

module MSO
end
WIN32OLE.const_load('Microsoft Office 9.0 Object Library', MSO)
puts MSO::MsoLineSingle # => 1
WIN32OLE.new('Excel.Application') # => Excel OLE Automation WIN32OLE object.
WIN32OLE.new('{00024500-0000-0000-C000-000000000046}') # => Excel OLE Automation WIN32OLE object.