プロシージャ名を取得できないかなと考えています。
・Form_Openプロシージャ内で「Form_Open」という文字を取得
・フォーム上に「新規登録」というボタンを作成、クリックした時にできる「新規登録_Click」プロシージャ内で「新規登録_Click」という文字を取得
不可能な場合、各プロシージャに「Form_Open」や「新規登録_Click」をベタ書きしようと考えていますが、非効率と考え、やりたくありません。
できればバージョンは2000以降で、ExcelでもAccessでも構いません。
可能かどうかだけでも教えてください。
No.1ベストアンサー
- 回答日時:
>不可能な場合、各プロシージャに「Form_Open」や「新規登録_Click」をベタ書きしようと考えていますが
何がしたいのか全く解りませんが、”プロシージャ名取得”の関連情報のリンクだけ紹介しておきます。
http://oshiete1.goo.ne.jp/qa1219426.html
http://park7.wakwak.com/cgi-bin/sbox/~efc21/exqa …
http://www.officetanaka.net/excel/vba/vbe/05.htm
http://support.microsoft.com/kb/410621/ja
http://search.goo.ne.jp/web.jsp?dummy=%F3%FE%F3% …
No.3
- 回答日時:
こんにちは。
>できればバージョンは2000以降で、ExcelでもAccessでも構いません。
最初に、もし、マクロを作成しようとするなら、アプリケーションは決めてください。内容的にみて、設計のあやふやなものは、回答しにくいです。Excelは、Excel VBAで、Access はAccess VBAのスタイルがあります。共有する部分はあっても、スタイルが違います。
ハンドル名から、VBAをjobにしているなら、素人の方だとは思いませんが、タスク(仕事)と、その作業過程の、主と従は混同しないほうがよいです。その過程の内容を限定して、可能かどうかと聞かれても、経験の多少に関わらず、ご自身でさえ見通しの立てられないものは、掲示板で聞いても、ほぼ無理と考えたほうがよいです。
今回は、Yes ともNoとも回答できません。
編集のテクニックなのか、マクロ作業中なのか、その区分けすら分かりません。
>・Form_Openプロシージャ内で「Form_Open」という文字を取得
>・フォーム上に「新規登録」というボタンを作成、クリックした時にできる「新規登録_Click」プロシージャ内で「新規登録_Click」という文字を取得
実際に、実行中のプロシージャ名を取るのは、VB.Net にはありますが、VB6系では用意されていません。少なくとも私は知りません。コードの中にあらかじめ書いておくしかありません。そんなに手間でもないと思います。
'例:
MsgBox "Run on procedure CommandButton1_Click of Form UserForm1"
しかし、このようなスタイルが成立するのは、On Error Goto ErrorHandler で、エラーが起きたときだけです。
稼働中のコントロール名を取得するなら、こうなります。
MsgBox ActiveControl.Name
こちらは、実行後にコントロールのプロパティを変更する場合に使用します。
この辺りは、どこまでできているのでしょう。
『「新規登録_Click」をベタ書き』というのは、それぞれのコードに書き入れたくないということでしょうか。何に対して非効率なのか、いまひとつ、共感が沸きません。たとえば、まさかコピー&ペーストが面倒だということでもないと思います。
どういう状況でなぜ必要なのかとか、そういう説明がありません。Error 発生の際のどこから発生しているか、それを提示する以外には、プロシージャ名を取るのはあまり意味がありません。
大事なことは、最終的に、何をしたいかなのです。
No.2
- 回答日時:
Excelの場合
workbookに含まれるVBのコードを扱うには次のObjectを使用します
ActiveWorkbook.VBProject.VBComponents
メソッドやプロパティは自分で調べてください。
私はVBのコードをテキストに吐き出して分析するために以下のようなコードを書きました。(一部ですが)
For Each vbo In ActiveWorkbook.VBProject.VBComponents
If (vbo.Type = 1 Or vbo.Type = 2) And vbo.Name <> "VBE" Then
i = i + 1
モジュール名(i) = vbo.Name
vbo.Export filename:=tempパス & モジュール名(i) & ".bas"
End If
Next
VBAのコードを書き換えることがVBAでできるかどうかはわかりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- その他(ニュース・時事問題) マイナポイントについて質問です。 ①カードの新規取得したときと、健康保険証としての利用申込みしたとき 1 2022/08/26 20:51
- その他(ニュース・社会制度・災害) マイナポイントについて質問です。 ①カードの新規取得したときと、健康保険証としての利用申込みしたとき 1 2022/08/26 21:00
- YouTube 以前に,チャンネルを YouTube の削除を受けていても・・・。 1 2023/06/17 01:57
- OCNモバイルONE MNP取得後、新規契約前に解約をしたらMNPは有効のままですか? 6 2022/06/30 21:18
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- その他(IT・Webサービス) この規制の正体 2 2022/09/15 08:01
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
プロシージャ名の取得
Visual Basic(VBA)
-
【VBA-AC2000】カレントプロシージャ名を取得したい
Visual Basic(VBA)
-
エクセルVBAでプロシージャ名を取得したい
Excel(エクセル)
-
-
4
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
5
Excelマクロで、稼働中のマクロを確認する方法
その他(Microsoft Office)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
或るプロシージャの呼び出し元判定
その他(Microsoft Office)
-
8
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
12
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
15
どこにもフォーカスを当てたくない
Access(アクセス)
-
16
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
17
VBAのエラー発生場所をメッセージBOXに表示
Visual Basic(VBA)
-
18
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
19
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
20
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
callで順に実行されるプロシー...
-
VBA プロシージャの名前の取得
-
エクセルVBAでUserFormを起動し...
-
或るプロシージャの呼び出し元判定
-
Excel VBAで「プログラム実行」...
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
【Excel VBA】 WorksheetやRa...
-
ACCESS マクロをモジュールに変...
-
OutlookVBAで作成したマクロに...
-
エクセルVBAが対応できるプログ...
-
Accessでグローバル変数を宣言...
-
ACCESS2007インポート時の空白...
-
SQL ServerのストアドでUPDATE...
-
excel/vba/public変数
-
PL/SQLのエラーについて
-
Excel2000 セルデータ検索ウィ...
-
エクセルのファイルを自動でFTP...
-
DB2でのストアドプロシージャの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAで行ラベルが定義さ...
-
Accessのマクロでモジュールを...
-
エクセルVBAでUserFormを起動し...
-
VBA プロシージャの名前の取得
-
callで順に実行されるプロシー...
-
OutlookVBAで作成したマクロに...
-
【Excel VBA】 WorksheetやRa...
-
或るプロシージャの呼び出し元判定
-
ACCESS2007インポート時の空白...
-
Accessでグローバル変数を宣言...
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
Excel VBAで「プログラム実行」...
-
ブックオープン時にテキストボ...
-
エクセルVBAが対応できるプログ...
-
ACCESS マクロをモジュールに変...
-
excel/vba/public変数
-
フォームモジュール イベント...
-
vbaでブックを開いたときにコン...
-
PL/SQLのエラーについて
-
VBAのプロシージャー間で、変数の受...
おすすめ情報