Используйте VBA, чтобы закрыть окно оболочки и добавить метку даты к имени файла. - PullRequest
0 голосов
/ 21 мая 2019

У меня есть команда оболочки, которая использует curl для захвата звука в реальном времени через порт на нашем сервере вызовов.

То, что я хотел бы знать, это;1) как я могу остановить запись (закрыть окно оболочки) с помощью VBA и, 2) как я могу добавить метку даты / времени к файлу?

В настоящее время, когда я запускаю макрос, он открываетОкно оболочки и выполняет команду просто отлично.Файл продолжает запись, пока я не закрою окно оболочки.Я хотел бы дать пользователю кнопку, которая закроет для него окно оболочки и отметку времени записи.ех."voice_2019-05-20 1019.wav"

Любая помощь с благодарностью!

PS Я понимаю, что команда оболочки может быть выполнена без использования cmd - так что нет окна оболочки - но яс этим нам повезло еще меньше.По крайней мере, с окном оболочки я могу закрыть его и остановить запись.Когда я запускаю его без cmd, он просто записывает навсегда, пока я не убью процесс.С удовольствием попробую любые / все предложения!

Sub RecordAudio()
    Call Shell("cmd.exe /S /K" & "curl 92.68.0.10:8888 > i:\voicetemp\voice.wav", vbMinimizedFocus) 
End Sub

1 Ответ

0 голосов
/ 21 мая 2019

Это закрыть процесс задачи:

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") может сделать. Вы можете использовать это в клетке, где вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...