[[20111012084614]] 『マクロからコマンド実行』(Panda) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロからコマンド実行』(Panda)

Excel 2010 + Windows 7

はじめまして。
マクロでExcelのツールバーにあるコマンドを起動する方法はないでしょうか?


 あるけど、一般論として?
具体的に、「どのツールバーの何を」起動させたいと書いたほうが具体的なレスがつくと思うけど。

 (ぶらっと)

現在、Add-inを使って、リボンを拡張しています。
その特定のボタンを連続して押したいと考えています。

ただ、ボタンを押したときの処理はブラックボックスなので、
内容をVBAで実現させることはできません。

という状況です。

一般的な方法論があれば、それをご教授いただけませんか?

(Panda)


 当方、もっぱら(というか、いまだに)2003命(?)なので、2010のリボンについてはなじみがないけど
他の方々からレスあると思うので期待して待ってて。

 ただ・・2003であれ、2010であれ、リボン(2003ならメニュー)から「何かを選んで処理」させたい場合、
「はじめの一歩」としては、まず、その操作をマクロ記録する、で、できあがったコードを参考にする。
これで、80%ぐらいは目的が達成できると思うけど?

 (ぶらっと)

そうでした。マクロの記録がありますね。失念しておりました。

ただ、今回の場合は記録されませんでした。


 アドインということなので、自分で作ったプロシジャか、外部から持ってきたプロシジャか、いずれにしても
それが書かれているアドイン用ブックが登録されているんだと思う・

 で、その機能を動かすためにボタンを追加してあるんだろうね。
2003であれ、2010であれ、そのボタンには、実行すべきVBA標準メソッドであったり、アドインブック内のプロシジャであったり、
そういうものが登録されていて、ボタンをおすと、それが実行されるということは理解してるよね。

 それが、プロシジャであれば、実際には Run "アドインブック名!プロシジャ名" といったコードで実行される。
だから、コードで、それを、必要なタイミングで必要な回数、実行すればいいのでは?

 (ぶらっと)

xlaファイルにはパスがかかっていて、中のプロシージャはブラックボックスなんですよ。

ですので、マクロからコマンドを押す方法を探しています。。。


 なるほど。
そういうことなら、上でも書いたように、当方、2007以降のエクセルはからっきしで、従ってリボンも不得手。
エキスパートさん達の回答を待ってください。

 役にはたたないだろうけど、リボンそのものを選ぶには
http://www.ka-net.org/ribbon/ri14.html とか。
で、このリボンが表示されているとして矢印キーかタブキーかわからないけど、フォーカスをそのボタンに
もっていくことができれば、その一連の流れをSendKeysで実行することができるかも・・・

 (ぶらっと)

 SendKeysでやる方法なら、まずF10キーを押してみるとリボン上にキーが出ると思うので
 それを見ていけば送るべきキーがわかると思います(2007の場合)
 2010でも出来ないでしょうか?
 (momo)

momoさん
F10は知りませんでした。これならSendKeysで行けそうです。

ぶらっとさん、momoさん
ありがとうございます。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.