This page shows you how to create a simple form:
Turn Dictation to On. Tap Enable to accept for Apple's privacy notifications. You may also click on About and read the details. To use the Dictation, you may start the key and say what you want to type and tap the key again for finishing the task. Try the suggestions and let me know the status of the issue for further assistance. Thanks, we already had Cortana turned off via GPO. And I verified nobody can access Dictate because it prompts to enable Intelligent Services, and when you click to enable, it does nothing. So try and click Dictate again and it puts you in a loop, essentially preventing use of the feature. Effectively, this resolves the issue. Wait for the red dot to appear on the Dictate button—a quick sound will go off to let you know that dictation has begun. Start talking—the text will appear on your screen as you speak. Speak clearly and conversationally—you can even insert punctuation and symbols into the transcript by saying the name of the punctuation mark or symbol you. Click the Dictate icon on the Ribbon and dictate your text. When finished, click the icon again to stop dictation. As in Word for 365, click the bottom arrow of the icon to see and choose a. Oct 03, 2019 Click the Dictate icon on the Ribbon and dictate your text. When finished, click the icon again to stop dictation. As in Word for 365, click the bottom arrow of the icon to see and choose a.
You'll be able to say something to Excel, and it will enter the text into your worksheet and for good measure repeat it back to you.
You can download the finished workbook here, should you want an easy life!
Creating the form and basic code
I'm going to assume you know a little bit - but not too much - about VBA. First create a form in VBA:
Call your form SpeechForm, and add a couple of controls:
I've added a textbox and a command button.
Optionally, create a subroutine to display your form:
This simple subroutine would bring the form up on screen.
You could then create a button on a worksheet:
When you click on this button, your form should appear:
Linking to the speech recognition object library
The next step is to expand the horizons of Excel, so that it knows about speech recogntion. From the VBA menu select this option:
Choose to add a reference to another object library (that's the technical description for what you're doing).
There are two speech recognition libraries to choose from:
Make sure you tick the one which is for the file sapi.dll.
Writing the code to get speech recognition working
Time now for the difficult bit! Double-click on the background of your form:
Double-click on your form in VBA to assign code to its events.
Delete any code which appears:
Delete any code apart from Option Explicit.
Paste in the following code (it's explained below!):
OptionExplicit
Private WithEvents ListeningSession As SpSharedRecoContext
Private Grammar As ISpeechRecoGrammar
PrivateSub UserForm_Initialize()
If (ListeningSession Is Nothing) Then
Set ListeningSession = New SpSharedRecoContext
Set Grammar = ListeningSession.CreateGrammar(1)
Grammar.DictationLoad
EndIf
Grammar.DictationSetState (SpeechRuleState.SGDSActive)
EndSub
PrivateSub ListeningSession_Recognition( _
ByVal StreamNumber As Long, _
ByVal StreamPosition As Variant, _
ByVal RecognitionType As SpeechLib.SpeechRecognitionType, _
ByVal Result As SpeechLib.ISpeechRecoResult)
'store this in the textbox on your form on a new line
Me.TextBox1.Value = Me.TextBox1.Value & vbNewLine & _
Result.PhraseInfo.GetText
EndSub
PrivateSub CommandButton2_Click()
'store results in top left cell of current sheet
Range('A1').Value = Me.TextBox1.Text
'speak them aloud to confirm
Application.Speech.Speak ('You said ' & Me.TextBox1.Text)
EndSub
There are three separate routines to explain:
Routine | What it does |
---|---|
UserForm_Initialize | When you load the form, this routine runs. It creates a new listening session, so that you can talk to VBA. |
ListeningSession_Recognition | This handles the Recognition event for the listening session object that you've created. What this means is that when you speak a phrase, the speech recognition software will detect this and run this macro. In our case it will append what you've said onto any text already displayed in the form's textbox, with a preceding carriage return. |
CommandButton2_Click | When you've finished, clicking on the command button (I'm not sure why mine is numbered 2, not 1). This will write the accumulated text into cell A1, then for good measure read it back out to you (make sure you've got your sound turned on). For more on getting Excel to speak to you, see this older blog. |
Trying out your system
You should now be able to click on the button on your worksheet to try out what you've created!
OK, I confess I cheated! I had to record the first line 5 times to get the word owl to appear, and the second line was meant to say hooting!
Don't forget to press Ctrl and the Windows key to turn speech recognition on before you start!
I hope this will be the start of a beautiful new relationship between you and VBA in which you can talk to each other!
MS-Excel / Excel 2003Excel versions 2002 and 2003 support Speech Recognition, which enables you to do hands-free data entry by dictating the text or numbers that youwant entered in the current cell and to issue voice commands that allow you to choose menu items, dialog box options, or even toolbar buttonsby simply saying their names.
According to Microsoft, to be able to use Speech Recognition in Excel, your computer must be at least a Pentium II running at a minimum speedof 300 MHz with a minimum of 128MB of RAM. You also need a top-quality microphone, preferably one that's attached to a headset (like the kindused by office receptionists). The giveaway microphones that come with PCs are just not sensitive enough for speech recognition because theytend to pick up stray sounds, which frankly make it impossible to have your voice commands correctly processed.
Enable Dictation For Excel Spreadsheet
When using Speech Recognition to dictate data entries, you need to keep the microphone close to your mouth and in the same position as you dictate.Speak normally and in a low but not monotone voice (use the same voice and intonation that you used when training Speech Recognition), pausing onlywhen you come to the end of a thought or the data entry for that cell. Keep in mind that it takes time for your computer to process your speech, and therefore,depending upon the speed of your processor, it may take some time before your words appear on the Formula bar and in the current cell.
Be prepared to turn off your microphone as soon as Speech Recognition has recognized the cell entry (accurately or not) so that you can complete theentry by pressing the Enter key or an arrow key, clicking the Enter button, or clicking another cell. If your mike doesn't have a physical off/on switch, youcan turn it off by clicking the Microphone button on the Language bar, shown minimized on the Windows XP taskbar. Note that you can alsocomplete a data entry by clicking the Voice Command button on the Language bar and then saying something like 'down arrow' or 'enter.'
When dictating cell entries, you can include punctuation and special symbols in your entries by calling the symbol by the word that Speech Recognitionunderstands. Table below gives you a list of these symbols and what you should say when dictating them as part of the cell entry.
Dictating Punctuation and Special SymbolsTo Enter | You Dictate |
, | 'Comma' |
. | 'Period' or 'dot' |
... | 'Ellipsis' |
: | 'Colon' |
; | 'Semicolon' |
? | 'Question mark' |
/ | 'Slash' |
' | 'Single quote' |
' | 'End quote' |
' | 'Quote' or 'open quote' |
' | 'Close quote' or 'end quote' |
~ | 'Tilde' |
! | 'Exclamation point' |
@ | 'At sign' or 'at' |
£ | 'Pound sign' |
$ | 'Dollar sign' |
% | 'Percent sign' |
^ | 'Caret' |
& | 'Ampersand' |
* | 'Asterisk' |
( | 'Paren' |
) | 'Close paren' |
- | 'Hyphen' or 'dash' |
_ | 'Underscore' |
= | 'Equals' |
+ | 'Plus sign' or 'plus' |
[ | 'Open bracket' |
] | 'Right bracket' |
'Backslash' | |
| | 'Vertical bar' |
> | 'Greater than' |
< | 'Less than' |
Enter | 'New line' |
When dictating numeric entries in your cells, keep the following idiosyncrasies in mind:
- Speech Recognition spells out all numbers below 20 so that when you say 'seven,' the program inputs seven and not 7 in the cell.
- Speech Recognition enters all numbers 21 and higher as digits so that when you say 'thirtyfive,' the program inputs 35 in the cell.
- To have Speech Recognition enter the fraction 1/2 in the cell, you say 'one-half.'
- To have Speech Recognition enter other fractions, you say the number of the numerator, 'slash,' followed by the number of the denominator asin 'one slash four' to insert 1/4 into the cell.
- When you say ordinal numbers ('first,' 'second,' and so on), Speech Recognition inputs 1st, 2nd, and the like in the cell.