我有一个shell命令,该命令使用curl捕获来自呼叫服务器上端口的实时音频输出。
我想知道的是; 1)如何使用VBA停止录制(关闭Shell窗口),以及2)如何在文件上附加日期/时间戳?
当前,当我运行宏时,它会打开一个shell窗口并执行命令。该文件继续记录,直到我关闭外壳程序窗口为止。我想给用户一个按钮,该按钮将为他们关闭外壳程序窗口并为录制时间戳记。例如“ voice_2019-05-20 1019.wav”
任何帮助都将不胜感激!
PS我意识到无需使用cmd即可执行shell命令-因此没有shell窗口-但我的运气甚至更低。至少可以使用Shell窗口将其关闭并停止录制。当我在不使用cmd的情况下运行它时,它会永远记录下来,直到我终止该进程为止。很高兴尝试任何/所有建议!
Sub RecordAudio()
Call Shell("cmd.exe /S /K" & "curl 92.68.0.10:8888 > i:\voicetemp\voice.wav", vbMinimizedFocus)
End Sub
答案 0 :(得分:0)
这将关闭任务流程:
Option Explicit
Sub CloseTask()
Dim oServ As Object
Dim cProc As Variant
Dim oProc As Object
Set oServ = GetObject("winmgmts:")
Set cProc = oServ.ExecQuery("Select * from Win32_Process")
For Each oProc In cProc
If oProc.Name Like "WhateverYouNeed" Then
oProc.Terminate
End If
Next
End Sub
此外,对于时间戳:Format(Now, "dd/mm/yyyy hh:mm:ss")
可以做到。您可以在任何需要的地方使用它。