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
HRESULT error code:0x80020009
Exception occurred. from win32ole2.rb:14
Exit code: 1
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
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