- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:元のプロシージャーを取得するプロパティ)
プロシージャー実行元の取得方法
このQ&Aのポイント
- 元のプロシージャーを取得する方法を紹介します。
- 現在は一時的な変数を使用してプロシージャーの実行元を判定していますが、より効率的な方法があります。
- プロシージャーの実行元を取得するプロパティを使用すると、より簡潔なコードで実行元を判定できます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Sub test1() a = "test1" Call test2(a) End Sub '--- Sub test2(b) If b = "test1" Then MsgBox "test1から実行されたマクロです。" End If End Sub ーーー callerのようなものが無いようですね。 あまり必要がないらしく解説も少ない。 (もしVBA程度なら、1つのサブルーチンを複数から呼び出して、呼び出し元からによって、処理を変えるというような処理は余り使われないようです。 本格的なVB。NETやJAVAの世界では便利で必須の技なのかもしれないですね) ーーー http://okwave.jp/qa/q2282372.html に、似たような質問があった。 ーー http://homepage1.nifty.com/rucio/main/dotnet/Samples/dnSampleGetPrevMethodName.htm イベント、フォーム、コントロール関連 ーー 参考 http://okwave.jp/qa/q7641753.htmlのNO。3 ーー この質問が、VBA程度の関連か、もっと一般の言語の高級な質問なのか書いておいてほしかった。VB関連らしいが、VB関連とさえ書いてない。 APIの世界には、呼び出し元を手繰る関数(API)があると思うが、首を突っ込んでないので分からない。 (処理が終わると、呼び出し元へ帰らなければならないから、絶対その情報はどこかにあるはず。小生がなんでこんなことに苦労するのだろうと思った。)
お礼
回答頂きありがとうございました。