
No.4ベストアンサー
- 回答日時:
残念ながら出来ません。
私のプロジェクトでは全てのプロシージャに On Error コーディングをして、そこでログにどのプロシージャかを書いてました。
そういう方法しかないと思います。

No.6
- 回答日時:
#1です。
なるほど。
だとすると、やはり、#4さんがご指摘のように、On Errorでエラーを回避して、それぞれにプロシージャ名を手動で書き込んでいくしかないと思います。
月1で発生するエラーなら、頻度は高いといえますし、だからといって、実行ログは取っていられないでしょうから、エラーログで対応するしかないですね。
でも、そのエラーが発生するタイミングに、共通点はないか、とか、エラー発生時の実行環境の状況、エラーメッセージ(メッセージが出ないとお手上げですが)などから、大体の絞込みは出来ないものでしょうか?
いえ、難しいなら、エラーログを取るしかありませんが。
No.5
- 回答日時:
さらにさらに失礼しました。
>CodeModule
実行したら、「関数名」は取れないようです。
実行していない状況に限るようです。
関数名ではなく、モジュール名なら取れそうです。
以前に「GetModuleFileNameEx」をどこかで拾いました。
実行できないのですが、そのまま張っておきます。
http://support.microsoft.com/default.aspx?scid=k …
Option Explicit
Private Declare Function WindowFromPoint Lib "user32" _
(ByVal xPoint As Long, _
ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" _
(ByVal hwnd As Long, _
lpdwProcessId As Long) As Long
Private Declare Function GetParent Lib "user32" _
(ByVal hwnd As Long) As Long
Private Declare Function EnumProcessModules Lib "psapi" _
(ByVal hProcess As Long, _
ByRef hMod As Long, _
ByVal sizehMod As Long, _
ByRef dwlpdwPIDsize As Long) As Long
Private Declare Function GetModuleFileNameEx Lib "psapi" _
Alias "GetModuleFileNameExA" _
(ByVal hProcess As Long, _
ByVal hMod As Long, _
ByVal szFileName As String, _
ByVal nSize As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const PROCESS_VM_READ = &H10
Private Const MAX_PATH = 260
Private Type POINTAPI
x As Long
y As Long
End Type
Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Dim lngApiRet As Long
Dim lnghProcess As Long
Dim lnghModule(512) As Long
Dim strModuleName As String
Dim lngcbNeeded As Long
Dim lngStrLen As Long
Dim i As Integer
Dim lngProcessID As Long
Dim pp As POINTAPI
Dim lngParent As Long
List1.Clear
lngApiRet = GetCursorPos(pp)
lngParent = getTopParent(WindowFromPoint(pp.x, pp.y))
lngApiRet = GetWindowThreadProcessId(lngParent, lngProcessID)
lnghProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or _
PROCESS_VM_READ, _
0&, lngProcessID)
If lnghProcess Then
If EnumProcessModules(lnghProcess, lnghModule(0), _
UBound(lnghModule), lngcbNeeded) Then
For i = 0 To lngcbNeeded / 4 - 1
strModuleName = String(MAX_PATH, Chr(0))
lngStrLen = GetModuleFileNameEx(lnghProcess, _
lnghModule(i), _
strModuleName, _
Len(strModuleName))
strModuleName = Left(strModuleName, lngStrLen)
List1.AddItem Format(lngProcessID, "00#") & _
vbTab & strModuleName
Next i
End If
End If
lngApiRet = CloseHandle(lnghProcess)
End Sub
Private Function getTopParent(ByVal lnghWnd As Long) As Long
getTopParent = IIf(CBool(GetParent(lnghWnd)), getTopParent(lnghWnd), lnghWnd)
End Function
参考URL:http://support.microsoft.com/default.aspx?scid=k …
No.3
- 回答日時:
すいません。
VBEはEXCEL用の場合に限るようです。
VBは
CodeModuleオブジェクトがキーとなるようです。
参考URLのコメント付加アドインのサンプルがヒントとなると思います。
ただし、やはり開発環境に限りで、コンパイルしたらだめっぽいです。
参考URL:http://www.galliver.co.jp/writing/nikkei_tokushu …
No.2
- 回答日時:
とおーい記憶で話しております。
VB6ならデバッグ限定で、確か取れたと思いますよ。
ただしコンパイルしたら取れなかったと思います。
キーワードは「VBE」だったと思います。
「思います」ばかりですいません。

No.1
- 回答日時:
質問の回答としては、「そんなことはできません」だと思います。
ところで、質問を拝見するところ、実行エラーとのことですが、まず、実行ファイル(ってことはexeですか?)にする前に、デバッグできませんか?
デバッグでは起こらない現象ですか?
また、エラーログのとり方を、どのようにお考えですか?
補足をお願いします。
この回答への補足
実行ファイルとはEXEのことです。
エラーというのが、1ヶ月に1回出るかでないようなものです。デバック環境では現状出ていません。
実行マシン(PC)にはVB6の開発環境をインストールしていません。
エラーログは現在下記のように考えています。
あるプロシージャに入ると、そのプロシージャ名をtxt形式でファイルに保存しようと考えています。
以上、説明不足ですみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Visual Basic(VBA) エクセル マクロ 指定日の指定時刻にプロシージャを実行 4 2022/04/17 16:44
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
【VBA-AC2000】カレントプロシージャ名を取得したい
Visual Basic(VBA)
-
-
4
エクセルVBAでプロシージャ名を取得したい
Excel(エクセル)
-
5
Excelマクロで、稼働中のマクロを確認する方法
その他(Microsoft Office)
-
6
或るプロシージャの呼び出し元判定
その他(Microsoft Office)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
VBAのエラー発生場所をメッセージBOXに表示
Visual Basic(VBA)
-
10
VB6で呼び出し元の情報を取得する方法について
Visual Basic(VBA)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
13
プロシージャを呼び出したプロシージャ名を知る方法は?
Visual Basic(VBA)
-
14
Access サブフォームでの選択行の取得
その他(データベース)
-
15
コントロールの存在確認
Visual Basic(VBA)
-
16
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
17
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
18
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
19
Accessでブレークポイントを設定してないのに一時停止してしまう
その他(データベース)
-
20
Excelのマクロの呼び出し元を知りたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
ExcelVBA Range クラスの Page...
-
vbaのvlookup関数エラー原因を...
-
VB6+SQL サーバー 2000 で 実行...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
アクセス 実行時エラー3265
-
実行時エラー -'-2147417848
-
マクロについて教えてください...
-
EXCEL VBAマクロ中断でデバッグ...
-
INSERT INTOステートメント構文...
-
ADODB.Streamを使用してUTF-8を...
-
インデックスが有効範囲にあり...
-
DataGridView からの値取得に関...
-
VBで構造体を使うさ際の64k...
-
Application.ActiveInspectorで...
-
カーソルオープンでエラー(ORA...
-
アプリケーション定義またはオ...
-
psapi.dllのGetModuleBaseName...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
ExcelVBA Range クラスの Page...
-
マクロについて教えてください...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
実行時エラー48発生時のDLL特定...
-
EXCEL VBAマクロ中断でデバッグ...
-
なぜエラーになるのでしょうか...
-
実行時エラー3001「引数が間違...
-
OLEDB.NETで接続できない
-
INSERT INTOステートメント構文...
-
VBAのエラー発生場所をメッセー...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
ADODB.Streamを使用してUTF-8を...
-
カーソルオープンでエラー(ORA...
-
Invalid procedure call or arg...
おすすめ情報