How to open a file with win32ole

Hi all,

I want to open a file via win32ole. I find the method 'Open' there but
always get error feedback. I wonder if anyone can give me a hand.

Thanks,

Li

···

########################
require 'win32ole'
fs=WIN32OLE.new('SAPI.SpFileStream')
count=1
fs.ole_methods.each{|m|
    print count,"\t"
    print m,"\t"
    print m.return_type_detail,"\t"
    puts
    count+=1
}

file='c:/test.txt'
fs.open(file)###line14 here

win32ole2.rb:14:in `method_missing': open (WIN32OLERuntimeError)
    OLE error code:800C0005 in <Unknown>
      <No Description>
    HRESULT error code:0x80020009
      Exception occurred. from win32ole2.rb:14

Exit code: 1

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

try this:

require 'win32ole'
fs=WIN32OLE.new('SAPI.SpFileStream')

p fs.ole_method("open").params

file='c:/test.txt'

fs.Open(file,2) #least two params
fs.write("data")
fs.Close

···

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

gpy good wrote:

try this:

require 'win32ole'
fs=WIN32OLE.new('SAPI.SpFileStream')

p fs.ole_method("open").params

file='c:/test.txt'

fs.Open(file,2) #least two params
fs.write("data")
fs.Close

Hi bud,

Thank you very much for the tips. It is so sweet.

From this example I guess that if a method is on the list but the object
cannot receive it, most likely that more parameters need to be passed
in.

One more question: How am I supposed that I should pass number 2 in the
script above, instead of other numbers like, 0, 1, 10,...?

Li

···

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