VBAのプロシージャーが自分呼び出しているプロシージャは何かというのを掴むことは可能なのでしょうか?

なんでこんなことをしたいのかというと、call で呼び出すプロシージャを限定したいからです。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/03/04 14:30:32
  • 終了:2010/03/04 23:04:19

回答(2件)

id:horonict No.1

horonict回答回数257ベストアンサー獲得回数512010/03/04 14:40:43

ポイント35pt

Parent.Nameプロパティで参照できます。

http://www.accessclub.jp/vbakaisetu/59.html

id:GreenStar No.2

GreenStar回答回数192ベストアンサー獲得回数462010/03/04 14:52:03

ポイント35pt

Callerプロパティの内容で判断! 下のはちょっとした使い方の例!

http://www.moug.net/tech/exvba/0150072.htm

http://www.moug.net/tech/exvba/0150088.htm

  • id:GreenStar
    id:kaiketsuさんへ
    どちらかの回答が間違っている! それを知ってのうえで、新しい知識を得られたという意味で均等ポイントだと思いたい! だけど、均等割りで返事も無しだと、しっかり理解してもらっての終了かどうかが回答者からは判らない!! 間違って覚えると後々面倒だから返事をもらえると互いのためになると思う!!!

    馬鹿みたいに熱いやつでごめん! でも、判ってほしい!!!
    ちゃんと理解、解決してもらって、ポイントもらって、みんな幸せ!!! そう思いませんか?
  • id:ken3memo
    id:GreenStar さんへ
    初めまして?こんにちは、なんだか熱いですね、勢いを感じます。
    なんて挨拶は置いておき、
    下記のようにテストしてみたのですが、Errorとなってしまいます。
    何か私のテスト方法が悪いような気もしますが、わからないのでコメントに書きました。
    Option Explicit

    Sub subtest()
    'ここで、呼んだ元親、main111とかmain222を判断したい
    Debug.Print TypeName(Application.Caller) '←ここの書き方が知りたい
    'あとは、親関数によって、イロイロ処理するぞ?
    End Sub

    'メインの親関数からテストで呼んでみる
    Sub Main111()
    Call subtest 'テスト関数を呼ぶ
    End Sub

    Sub Main222()
    Call subtest 'テスト関数を呼ぶ
    End Sub

    質問者本人じゃないし、ポイントにならないコメントのやりとりですが、
    素朴な疑問なので、私の使い方のミスを回答いただけるとうれしいです。
    よろしくお願いします。
  • id:GreenStar
    id:kn1967さんと混同? どっちでもいいけど、まずはあいさつですね! 初めまして!!

    いきなりですが、ポイントはほしい! すごくほしいと言っちゃいます!! だけどhttp://q.hatena.ne.jp/1267613436のようにあからさまに間違った回答でもらう訳にはいかないとも思ってます!! 礼儀知らずで http://q.hatena.ne.jp/1267609296 のコメント欄を借りて、あとのほう開けてと言ったのだが伝わらず、後から自分で回答オープンした!!

    そんな経緯と、そんな自分だから、みなさんに検証してもらったりするのは非常にうれしいです!!


    結論から言います!私の回答も実は間違いでし!!

    どのプロシージャから呼び出されたかじゃなくて、イベントの基点となったオブジェクトを返します!!
    Debug.Print Application.Caller に変えれば エラー 2023 を返すことからも判ると思います!!

    ポイントはお返しすることもできます! が、これによってお手間をかけた時間に関してはお詫びのしようもありません!! ご当人からのコメントもないのでどうしたらいいのか判らずです!! お手上げです!!
    http://q.hatena.ne.jp/1267254065#a997829 の id:kata-kata さんが即時回答拒否登録なさったように明確に判る形にしてもらえるとありがたいです!! こんな時間だから、質問者さんは、もう寝てるか??

    ごめんなさい!ちゃんとした返事になってないですが急ぎ返信します!!

    忘れてました! id:ken3memo さん 確認ありがとう!!
  • id:ken3memo
    id:GreenStar さんへ
    おはようございます。
    ダメ元のポイントがからまないコメント欄の横から質問だったのですが、
    レスポンスがあるとうれしいものですね。
    なんだぁid:GreenStarさんの方法もダメなんですかぁ、残念。
    エラー処理やトレースログなどで共通関数に埋め込むと面白いかなぁと思ったんですが。
    狭いネットの世界、またどこかでお会いしたときはよろしくお願いします。


  • id:PurpleStar
    (はてなにより削除しました)

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

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

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

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