Excel 需要运行由Microsoft编写的虚拟VBA、SAPI代码,但不清楚如何使用参数调用这些子例程

Excel 需要运行由Microsoft编写的虚拟VBA、SAPI代码,但不清楚如何使用参数调用这些子例程,excel,vba,sapi,Excel,Vba,Sapi,以下代码取自URL: 该页面确实试图讲述一些关于它的信息,但它是模糊的。 下面的代码示例表示一个使用进程内(或InProc)识别器的简单但功能强大的识别应用程序。它使用听写语法并允许自由听写。注释行指的是表单中可能显示信息的假设标签。要查看已识别的短语,请添加一个名为Label1的标签。当然,您可以根据需要修改此应用程序以满足自己的要求。 在运行应用程序之前,必须包含语音参考。使用Project->References菜单,查找并选择Microsoft语音对象库。 InProc识别器需要共享识

以下代码取自URL:

该页面确实试图讲述一些关于它的信息,但它是模糊的。 下面的代码示例表示一个使用进程内(或InProc)识别器的简单但功能强大的识别应用程序。它使用听写语法并允许自由听写。注释行指的是表单中可能显示信息的假设标签。要查看已识别的短语,请添加一个名为Label1的标签。当然,您可以根据需要修改此应用程序以满足自己的要求。 在运行应用程序之前,必须包含语音参考。使用Project->References菜单,查找并选择Microsoft语音对象库。 InProc识别器需要共享识别器不需要的其他行。对于InProc识别器,必须显式指定输入或输出的音频对象


Dim with events RC As spinprocurecocontext
行是关键。这会自动将函数
RC\u Recognition
映射为识别事件的处理程序。

关键是
Dim WithEvents RC as SPINPROCLOCEXTEXT
行。这会自动将函数
RC\u Recognition
映射为识别事件的处理程序

'Dim WithEvents RC As SpInProcRecoContext
Dim Recognizer As SpInprocRecognizer
Dim myGrammar As ISpeechRecoGrammar

Sub Form_Load()
    On Error GoTo EH

    Set RC = New SpInProcRecoContext
    Set Recognizer = RC.Recognizer

    Set myGrammar = RC.CreateGrammar
    myGrammar.DictationSetState SGDSActive

    Dim Category As SpObjectTokenCategory
    Set Category = New SpObjectTokenCategory
    Category.SetId SpeechCategoryAudioIn

    Dim Token As SpObjectToken
    Set Token = New SpObjectToken
    Token.SetId Category.Default()
    Set Recognizer.AudioInput = Token

EH:
    If Err.Number Then ShowErrMsg
End Sub

Sub RC_Recognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal Result As SpeechLib.ISpeechRecoResult)
    On Error GoTo EH

    Range("G8").Value = Result.PhraseInfo.GetText

EH:
    If Err.Number Then ShowErrMsg
End Sub


Private Sub ShowErrMsg()

    ' Declare identifiers:
    Const NL = vbNewLine
    Dim T As String

    T = "Desc: " & Err.Description & NL
    T = T & "Err #: " & Err.Number
    MsgBox T, vbExclamation, "Run-Time Error"
    End

End Sub
Sub MyMacro()
    Call Form_Load
    Call RC_Recognition
End Sub````

Not able figure out how to call subroutine "RC_Recognition" that is taking some arguments.