Valeu pela dica, colega.
Encontrei uma função na net e adaptei.
Coloquei um Timer no form que fica verificando se o arquivo está aberto. Assim que o arquivo do som é aberto, executa o comando.
Dim buffaddress As Long
Sub TestFileOpened()
' Verificar se o arquivo está aberto
If IsFileOpen("D:CidComprar.mid") Then
txtOrdem = "COMPRAR"
ElseIf IsFileOpen("D:CidVender.mid") Then
txtOrdem = "VENDER"
Else
txtOrdem = ""
End If
End Sub
Function IsFileOpen(filename As String)
Dim filenum As Integer, errnum As Integer
On Error Resume Next
filenum = FreeFile()
Open filename For Input Lock Read As #filenum
Close filenum
errnum = err
On Error GoTo 0
Select Case errnum
Case 0
IsFileOpen = False
Case 70
IsFileOpen = True
Case Else
Error errnum
End Select
End Function