Is there a way to pass ~keyword~ arguments to a WIN32OLE method in
Ruby? For example, I've tried...
@selection.Find.Execute( :FindText=>"look
for", :ReplaceWith=>"something else")
... and the same with the arguments as an explicit hash. They don't
work. I'm reduced to using terribly ugly, error-prone things like...
def replace( find, replace)
@selection.Find.Execute( find, nil, nil, nil, nil, nil, nil, nil,
nil, replace)
end
which is OK once set up. But translating ruby-style hash keyword
arguments to WIN32OLE keyword arguments would be tremendous help.
BTW, the VBA function used above is...
expression.Execute(FindText, MatchCase, MatchWholeWord,
MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap,
Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics,
MatchAlefHamza, MatchControl)
Thanks. --David.
on 2008-03-09 23:05
on 2008-03-10 13:08
Hello,
djlewis wrote:
> Is there a way to pass ~keyword~ arguments to a WIN32OLE method in
> Ruby? For example, I've tried...
>
> @selection.Find.Execute( :FindText=>"look
> for", :ReplaceWith=>"something else")
Try
@selection.Find.Execute({:FindText=>"look
for", :ReplaceWith=>"something else"})
or
@selection.Find.Execute({"FindText"=>"look
for", "ReplaceWith"=>"something else"})
Regards,
Masaki Suketa
on 2008-03-10 13:31
In Ruby 1.8, hash keys must be String object.
And in Ruby 1.9, hash keys must be String or Symbol object.
So,
> @selection.Find.Execute({:FindText=>"look
> for", :ReplaceWith=>"something else"})
style is supported in Ruby 1.9
> @selection.Find.Execute({"FindText"=>"look
> for", "ReplaceWith"=>"something else"})
style is supported in Ruby 1.8 and Ruby 1.9.
Regards,
Masaki Suketa
on 2008-03-10 17:32
On 3/10/08, Masaki Suketa <masaki.suketa@nifty.ne.jp> wrote: > In Ruby 1.8, hash keys must be String object. > And in Ruby 1.9, hash keys must be String or Symbol object. > To be clear you're talking about hashes used as arguments to win32ole methods, not Ruby hashes in general. Right? -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/
on 2008-03-10 22:44
Rick DeNatale wrote: > On 3/10/08, Masaki Suketa <masaki.suketa@nifty.ne.jp> wrote: >> In Ruby 1.8, hash keys must be String object. >> And in Ruby 1.9, hash keys must be String or Symbol object. >> > > To be clear you're talking about hashes used as arguments to win32ole > methods, not Ruby hashes in general. > > Right? Yes. I'm talking about Win32OLE methods, not Ruby hashes in general. Regards, Masaki Suketa
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.