• 締切済み

AccessVBA 実行している関数の名前を取得

実行している関数の名前を取得したいと考えています。 具体的には、下の例の「命令群」で「ボタン_Click」という文字列を取得したいです。 例) Private Sub ボタン_Click() 命令群 End Sub こういったことが可能なのかどうかも含めて、教えてください。 宜しくお願いいたします。

みんなの回答

  • laputart
  • ベストアンサー率34% (288/843)
回答No.1

Private Sub ボタン_Click() Aname="ボタン_Click" 命令群 End Sub などど変数にいちいち登録する今年か思いつきません。

jobvba
質問者

お礼

回答ありがとうございます! やっぱりそうなるんでしょうか・・・ちょっと悔しいです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 関数呼び出しに時間がかかる

    VB.NETに関してご質問があります。 下記ソースで、OKボタをクリックしたときにcmdOK_Click()関数が実行されます。 TimeLogは現在時刻をログに出力する関数です。 cmdOK_Click()内でTest()関数をコールしていますが、(1)と(2)の時間差が約3~4秒となります。 しかし、Test()関数内の「Dim rs As ADODB.Recordset = Nothing」を削除すると、(1)と(2)の時間差はほぼなくなります。 「Dim rs As ADODB.Recordset = Nothing」が関数内に記載されているだけで、時間が3,4秒もかかる原因は何でしょうか? <ソース例> 'OKボタンクリック時のイベント Private Sub cmdOK_Click(省略)  clsCommon.TimeLog("cmdOK_Click Start") '(1)現在時刻をログに出力  Test() End Sub Private Sub Test()  clsCommon.TimeLog("Test Strat") '(2)現在時刻をログに出力  Dim rs As ADODB.Recordset = Nothing End Sub

  • 実行中のマクロを中止(中断)したい。

    エクセル2003でマクロを勉強中です。 ユーザーフォームにボタンを二つ配置し「ボタン1」は次の命令で アクティブセルがタイマーで移動します。 この移動中(マクロの実行中)に「ボタン2」クリックで中止させる命令が可能でしょうか? Private Sub CommandButton1_Click() Dim i As Integer For i = 1 To 100 ActiveCell.Value = 1 ActiveCell.Offset(1, 0).Activate Application.Wait (Now + TimeValue("0:0:01")) Next i End Sub

  • VB.NETにて文字列で指定した関数の実行

    Visual Basic 2005におきまして 変数に文字列で指定したコード(関数)を実行する方法を探しております。 たとえば、下記のコードで、変数funcStringで指定した関数を実行して戻り値を得たいと思っております。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim funcString As String = "testFunc(3,5)" 'ここで上記funcStringで指定した関数を実行して戻り値を得たい。 End Sub 'テスト用の関数 Private Function testFunc(ByVal a As Integer, ByVal b As Integer) As Integer testFunc = a + b End Function Microsoft.JScript.Eval.JScriptEvaluateを利用して文字列をコードとして評価する方法を試しましたが、VBで定義してある関数を呼び出すことはできませんでした。 PHPやJavascriptでいうところのeval関数 PHPのcall_user_func関数 と同じようなことを実現したいと思っております。 いろいろ探してみたのですが、解決策が見つからず、 文字列を解析してSELECT CASEによる分岐で実行する関数を1つずつ振り分けるしか方法はないのかもと思っているのですが、今の開発仕様では100近くの関数に関してこの処理をSELECTで分岐することになりそうなのです。 なにとぞ、よき解決方法がありましたら、お力添えよろしくお願いいたします。

  • VB6.0でPowerPoint上のイベントを取得したい

    VB6.0からPowerPointのファイルを開き、 PowerPoint上のイベントを取得したいのですが、 方法が分からず困っております。 具体的には、ツールバーのプレビューボタンが クリックされたことをVBで検知したいと考えています。 現状では下記のように、Applicationの閉じるイベントは 取得できたのですが、そこからどうして良いか分からない状態です。 良きアドバイスをお願い致します。 ---------------------------------------------------- Option Explicit Private WithEvents PPTApp As PowerPoint.Application '■パワポを開く Private Sub Command1_Click() Set PPTApp = New PowerPoint.Application PPTApp.Visible = True PPTApp.Presentations.Open (App.Path & "\test.ppt") End Sub '■パワポを閉じる Private Sub Command2_Click() PPTApp.Quit Set PPTApp = Nothing End Sub '■閉じるイベントを取得 Private Sub PPTApp_PresentationClose(ByVal Pres As PowerPoint.Presentation) MsgBox "閉じる" End Sub ----------------------------------------------------

  • GOTO命令

    現在GOTO命令を用いて、処理をしようとしていますが、一つの関数内でGOTO命令はOKなのですが、GOTO命令先の関数が違う場合はGOTOは使えないのでしょうか? つまり Private Sub CommandButton1_Click()   処理 back: end Sub Private Sub CommandButton2_Click()   処理 goto back end Sub 上記のようにGOTOのラベルが他の関数内にある時はつかえないのでしょうか?何か方法ないでしょうか?

  • AccessVBAにおけるOpenArgsの使用について

    AccessVBAを最近はじめた初心者です。 ~~~フォーム1~~~ Private Sub コマンド0_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド0" End Sub Private Sub コマンド1_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド1" End Sub ~~~フォーム2~~~ Private Sub Form_Load() Dim strFormName As String strFormName = Forms.フォーム1.OpenArgs DoCmd.PrintOut strFormName End Sub 上のプログラムのようにフォーム1でクリックしたボタンによってフォーム2を読み込んだ時の動作を変えるプログラムを作成しようとしています。 しかし、実際に起動させると、『strFormName = Forms.フォーム1.OpenArgs』の辺りで 「Null の使い方が不正です。」 というエラーメッセージが表示されます。 Accessのヘルプを参照に組んでみたのですが、どの箇所が間違っているのでしょうか? 回答、よろしくお願いします。

  • VB2008リストボックスの値が取得できません

    リストボックスのITEMプロパティで文字列を追加後、コマンドボタン押下時にリストボックスの値を取得したいのですが、リストボックスの値が取得できません ソースは下記のようになっています Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(ListBox2.SelectedItem) End Sub End Class アドバイスお願いします

  • Excel-VBA [X]クリックベント取得

    UserFormで、通常の「CommandButton」ならClickイベントを次のコードで取得できるのですが、 Private Sub CommandButton1_Click() CommandButton1.Value = Date End Sub 質問:UserForm左上の[X]ボタンをクリックした時のイベントを取得したいのですが、誰かサンプルコードを提供いただければ幸いです。 宜しくお願いいたします。

  • EXCELでの変数によるMacro自動実行について

    すいませんが教えてください・・・・・・ EXCELシートにツールボックスより、コマンドボタンを2つ配置しました。 (AUTOMATICはPublic変数で標準モジュールで定義しています Dim AUTOMATIC As Boolean ) ------------------------------------------------------------------ CommandButton_1 : Private Sub CommandButton1_Click() AUTOMATIC = True End Sub CommandButton_2 : Private Sub CommandButton2_Click() AUTOMATIC = False End Sub ------------------------------------------------------------------ あとはEXCELを起動中に、AUTOMATICが Trueでセル(例えばA2のセル)の 値が100のときには Macroを起動したいのですが、どこにどう記述したら いいか教えて欲しいのです。 ------------------------------------------------------------------ CommandButton_1 : Private Sub CommandButton1_Click() if Cells(2,1) = 100 then 'A2はCells(2,1) Macro実行 end if End Sub とAUTOMATICを使用せずに記述しても、毎回CommandButton_1をクリックしな ければMacroが起動することができないので煮詰まってしまいました。 (一度CommandButton_1をクリックしておくとあとはA2セルを監視するだけ でMacroを起動させたい) すいませんがわかる方、教えていただけないでしょうか よろしくお願いします。

  • ListViewから選択中の文字列を取得

    VB2005の初心者です。 タイトル通り、ListViewから選択中の文字列によって処理を変えるプログラムを構築しようとしているのですが、うまくいきません。 ComboBoxの場合では Private Sub button1_Click~ If ComboBox1.SelectedItem = "テスト" Then 処理 End if でうまくいったのですが、ListViewの場合では Private Sub button1_Click~ If ListView1.SelectedItems = "テスト" Then 処理 End if と指定すると 「エラー 1 これらの引数で呼び出される、アクセス可能な '=' がないため、オーバーロードの解決に失敗しました」 とエラーがでます。 ListViewから選択中の文字列を取得するには「.SelectedItems」では取得できないのでしょうか? VBに詳しい方ご教授お願いします。

このQ&Aのポイント
  • PHPの正規表現を使用して、指定された文字列からstyleタグの中身を取得する方法を教えてください。
  • 例えば、<div class="se-component se-image-container __se__float-none" contenteditable="false"><figure style="margin: 0px;"><img src="58065e517c7252ca0678a06e2ee8e730=" alt="" data-rotate="" data-rotatex="" data-rotatey="" data-size="," data-align="none" data-percentage="auto,auto" data-index="0" data-file-name="neko1.jpg" data-file-size="7136" data-origin="," style="color: gray; width: 300px"></figure></div> のような文字列が与えられた場合、"color: gray; width: 300px" のような文字列を取得する方法を教えてください。
  • また、"style="color: gray; width: 300px"" のような形式でも構いません。どちらの方法でも構いませんので、取得する方法を教えてください。
回答を見る

専門家に質問してみよう