COMで現在編集中のExcelブックにアクセスするには?

Rubyスクリプトで現在編集中のExcelブックにアクセスするにはどうすればいいでしょうか?

既存のExcelファイルへのアクセスは、るびまの記事に書かれているRubyスクリプトでできました。
http://jp.rubyist.net/magazine/?0004-Win32OLE#l5

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/06/12 23:20:49
  • 終了:2011/06/15 23:31:57

ベストアンサー

id:ekrea No.1

ekrea回答回数3ベストアンサー獲得回数22011/06/15 22:54:34

現在編集中のExcelブックとはアクティブなワークブックのことですか?

もしそうなら下記コードで取得できます。(正確には、最後にアクティブになったワークブック、です。)

xl = WIN32OLE.connect( "Excel.Application" )
book = xl.ActiveWorkbook

既にエクセルが起動済みであれば、新しいApplicationオブジェクトを作成することなく、

既存のApplicationオブジェクトに接続してくれます。

エクセルが起動していない場合は新しいApplicationを作成してしまうので注意してください。

Application.visibleの値で処理を振り分けるといいでしょう。

id:Bookmarker

ありがとうございます。

ちょうど、WIN32OLE::connectを見つけたところでした。

人間が明示的に起動したExcelで編集中のブックにアクセスしたかったので、WIN32OLE::connectさえできれば色々できそうです。

2011/06/15 23:29:58

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません