|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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 . 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. |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
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/ |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
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 |
|
![]() |
| Outils de la discussion | |
|
|