[#40891] 配列をシャッフル — Hideo Konami <konami@...>

小波です。

25 messages 2005/07/01
[#40899] Re: 配列をシャッフル — ktokita <ktokita-p@...> 2005/07/01

時田です

[ruby-list:40924] Re: windowsでコンテキストメニューの「印刷」を実行するには?

From: MIYAMUKO Katsuyuki <miyamuko@...>
Date: 2005-07-11 11:25:11 UTC
List: ruby-list #40924
みやむこです。

岩崎 弘孝 wrote:
> 今回、windowsでコンテキストメニュー(マウス右ボタンのメニュー)の「印刷」
> を実行したく
> 以下のコードを作成しましたが、デフォルトの動作である「開く(&O)」に相当す
> る
> 動作しかしないようです。解決策のご助言をお願いします。

(もう解決しているかもしれませんが) InvokeVerb を使わずに Verbs の中から
自分で探して、doIt してあげるとできるみたいです。


#!ruby -Ks
require 'win32ole'

class WIN32OLE
  include Enumerable
end

parent, name = File.split(File.expand_path(ARGV.shift))
parent.gsub!("/", "\\")

shell = WIN32OLE.new('Shell.Application')
verbs = shell.NameSpace(parent).ParseName(name).Verbs
#puts verbs.map {|v| v.Name }

if v = verbs.find {|v| v.Name == "印刷(&P)" }
  v.doIt
  sleep(2) # 起動が遅い場合 (excel とか)、少し待ってあげないとだめ。
else
  puts "印刷できません"
end

In This Thread