VBA:ACCESS:起動する

Public Sub runAccFile(acapName$)
    Dim Locator As Object
    Set Locator = CreateObject("WbemScripting.SWbemLocator")
    
    Dim Service As Object
    Set Service = Locator.ConnectServer
    
    Dim Procs As Object
    Set Procs = Service.ExecQuery("Select * From Win32_Process")
    
    Dim swF As Boolean
    Dim Proc As Object
    For Each Proc In Procs
        If Proc.Description = "msaccess.exe" Then
            Dim cmdl$: cmdl$ = Proc.Properties_("CommandLine")
           
            Debug.Print CStr(Proc.ProcessId), cmdl$
            If InStr(cmdl$, acapName$) > 0 Then
                swF = True
                AppActivate Proc.ProcessId
            End If
        End If
    Next
    
    If Not swF Then
        Dim acp$: acp$ = Application.SysCmd(acSysCmdAccessDir) & "MSACCESS.EXE"
        Shell (acp$ & " """ & CurrentProject.Path & "\" & acapName$ & """")
    End If
    
    Set Proc = Nothing
    Set Procs = Nothing
    Set Service = Nothing
    Set Locator = Nothing
End Sub

Descriptionで判断するのは間違っているのかなぁ、、 CommandLineの取得もProperties_経由とかしないと行けないの? Proc.CommandLineとかで参照できると見た目が綺麗なんだけど、、

後、既に起動していたらアクティプにする。これ大事だね、、

虫歯Y.Tの件は保留、、

あと、VBAって進化止まっているけど、良い言語だと思うなぁ、、
可読性の面で、変数宣言と初期化が同時にできれば嬉しいなぁ、、
無駄な変数宣言や無駄な初期化をする人、減ると思うのさ、、令和元年に

/* -----codeの行番号----- */