Roger, you are a god in human form!
This worked on both XP and Windows 7:

________________________________________________________

require 'tk'
require "win32ole"
require 'Win32API'
CoInitialize = Win32API.new('ole32', 'CoInitialize', 'P', 'L')

def moose

  filename = Dir.pwd + "\\ReportOutput.txt"
  CoInitialize.call( 0 )
  excel = WIN32OLE::new("excel.application")
  excel.visible = true
  excel.Workbooks.Open(filename)

end

root = TkRoot.new
btn_OK = TkButton.new(root) do
  text "OK"
  borderwidth 5
  underline 0
  state "normal"
  cursor "watch"
  font TkFont.new('times 20 bold')
  foreground  "red"
  activebackground "blue"
  relief      "groove"
  command (proc {moose})
  pack("side" => "right",  "padx"=> "50", "pady"=> "10")
end

Tk.mainloop

_______________________________________________________

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