電子書籍の厳選無料作品が豊富!

vbaで押されたコマンドボタンの
(ActiveXコントロールのイメージやラベルなど)
名前を取得することはできますか?

ActiveControl.NameはSheets(1)をつけると
オブジェクトは、このプロパティまたはメゾットをサポートしていません
とエラーが出て、Sheets(1).を取るとオブジェクトが必要です
とエラーが出て上手くいきません

フォームコントロールのボタンは右クリックできないので
ActiveXコントロールのコマンドボタンを使用しています

回答お願いします

A 回答 (2件)

こちらにありました。

結構大げさな事をしないと取得できないのですね。2010でも動きました。
おかげさまで一つ物知りになりました。
http://www.moug.net/tech/exvba/0150059.html

コードの最後は
Me.OLEObjects(obj.Name).Object.Caption = "変更後のキャプション"
の方が当方の好みです。
    • good
    • 0
この回答へのお礼

ありがとうございました
いくら探しても見つからなかったので
本当に助かりました

お礼日時:2012/12/27 21:29

名前をダイアログで表示する例です。



Sub macro()
Dim C As OLEObject
For Each C In ActiveSheet.OLEObjects
MsgBox C.Name
Next C
End Sub

この回答への補足

すいません
押されたボタン以外の名前も表示されてしまいます

補足日時:2012/12/27 16:34
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!