アプリ版:「スタンプのみでお礼する」機能のリリースについて

概要:
Excelマクロで利用されているボタンの命名がどこに記述されているのかわからないケースがありました。
ボタンの上の文字列、ボタンを選択した後の左上、オブジェクト一覧のどこにもコードで使われている値が記述されていません。

詳細:
退職済みの前任者から引き継いだExcelにあるマクロのコードを読んでいたところ、
シートにある複数のボタンのどれが押されたかを判別するために
Select Case Application.Caller
が使われていました。
受け取りの値がそれぞれ
Case BTN_TEST_001
Case BTN_TEST_002
Case BTN_TEST_003
のように半角英字で指定されていました。
しかし BTN_TEST_001 というような文字がどのようにしてボタンに紐づけられている値なのかがわかりません。
まずボタンの上の文字はどれも全角の日本語です。
"検索と選択"から"オブジェクトの選択"でボタンを選択しても左上に表示される名前はこれも全角の日本語です。
"検索と選択"から"オブジェクトの選択と表示"を選んで出てくる一覧でもそれぞれは全角の日本語で表記されています。
念のためそれぞれの Case の後を msgbox を表示するだけにしてから実行したところダイアログが表示されたのでこの BTN_TEST_001 らが使われているのは間違いありません。

この場合に BTN_TEST_001 などという命名はどこで設定されているのでしょうか。

A 回答 (1件)

こんばんは



ご提示の文章の情報だけからではわかりかねますので、推測になってしまいますが・・

通常、Application.Caller で返されるものはボタンの名称(文字列)です。
数値(=番号)等であれば、Enum で定義しておく等もありそうですが、文字列で設定できそうなのは、Public Const をどこかのモジュールに設定しておくことくらいでしょうか。

他のモジュール等を探すとどこかに定義されていたりしないでしょうか?

※ 当たるも八卦なので、外れていたらスルーしてください。
    • good
    • 0
この回答へのお礼

忙しくて調べられていませんが、後で確認してみます。

お礼日時:2023/07/04 20:50

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