VBEが閉じてしまいます。
Sub Sample()
Dim mdlName As String
mdlName = "test"
Debug.Print AllProcName(mdlName)
End Sub
Function AllProcName(ByVal strModuleName As String) As String
Dim mdl As Module
Dim lngDecCnt As Long '宣言セクションの行数
Dim strName As String 'プロシージャ名比較用
Dim strProcName As String '全プロシージャ名
Dim lngR As Long 'プロシージャの種類
Dim i As Long
DoCmd.OpenModule strModuleName
Application.VBE.MainWindow.Visible = False
Set mdl = Modules(strModuleName)
'宣言セクションの行数格納
lngDecCnt = mdl.CountOfDeclarationLines
'最初のプロシージャ名格納
strName = mdl.ProcOfLine(lngDecCnt + 1, lngR)
strProcName = strName & vbNewLine
'宣言セクションの次行から最終行までループ
For i = lngDecCnt + 1 To mdl.CountOfLines
'新規プロシージャ名取得
If strName <> mdl.ProcOfLine(i, lngR) Then
strName = mdl.ProcOfLine(i, lngR)
'プロシージャ名追加
strProcName = strProcName & strName & vbCrLf
End If
Next i
Set mdl = Nothing
AllProcName = strProcName
End Function
と言うコードをVBE画面でF5で実行すると、VBEが閉じてしまいます。
しかしF8でゆっくりやっていくとVBE画面は閉じません。
なぜ一気にやると閉じてしまうのでしょうか?
Application.VBE.MainWindow.Visible = False
をコメントアウトすると
VBE画面は閉じませんが該当のモジュールが実行後にアクティブになります。
環境はwin8.1、アクセス2010です。