ExcelTalk

ExcelTalk is an Add-In that adds the basic capabilities of Apple's Speech Manager to Microsoft Excel (version 4 or later). To use it either: 1) Open it like any other Excel document, i.e. using 'Open' in the file menu or by double clicking on it in the Finder, or: 2) Place it in the "Excel Startup Folder (4)" folder inside the Preferences folder in your System Folder to have it open each time you run Excel.

On launch it adds four commands to the Options menu, which enable you to read the selected cell, the note of the selected cell, the whole of the current selection or the whole worksheet respectively. As they are implemented as Macros these commands, and others not available from the menu, can also be called from your own Macro routines. The following is a list of all avaialable Macro commands, with the names as they appear in the 'Paste Function' dialog.

Auto_Open()
Checks for the availability of speech, adds commands to the Options menu and announces itself
Speak(<String>)
Speaks the supplied string asynchronously using the default voice of Apple's Speech Manager
Can_Speak()
Tests for the presence of the Speech Manager: returns TRUE if the Speech Manager is present
Speech_Busy()
Checks to see if the Speech Manager is (still) speaking: returns number of active voices (1 or 0 unless another application is using the speech manager)
Sync_Speech(<String>)
Like Speak, but does not return until speaking has finished
format_from_code(<Code>)
Returns format of cell given <Code> from Excel's CELL function
Cell_Speak(<Ref>)
Reads cell specified by reference <Ref> asynchronously
Sync_Cell_Speak(<Ref>)
Reads cell specified by reference <Ref> synchronously
Speak_Cell()
Reads current cell (same as the "Read Cell" menu command)
Speak_Range(<Ref>)
Reads cells in range given by reference <Ref>, cell by cell
Speak_Selection()
Reads cells of current selection (same as the "Read Selection" menu command)
Sheet_Speak()
Selects whole sheet then reads it cell by cell (same as the "Read Sheet" menu command)
Speak_Note()
Reads text of note for current cell (same as the "Read Note" menu command)

You will need the Speech Manager installed for ExcelTalk to work, as well as Excel 4 (or later) for Macintosh. This probably means you will need system 6.0.7 or later (or whatever the Speech Manager requires).

The only practical uses I have come across so far, both discovered by users, are to alert you to an error or to the completion of a task (where speech has the advantage over a dialog of not stopping a macro in progress) and reading out spreadsheet cells to small to easily read.

In use it will try and read numeric cells as they are displayed, rather than just read the numerical value of the cell. This is only as good as the Speech Manager's ability to read numberes though, so $125 is read as "dollars one hundred and twenty-five", and dates and times sound even worse. If you can persuade the Speech Manager to use another voice, i.e. by changing the default system voice, you might be able to improve on this.

Unfortunately it can only recognise the built in number formats of Excel. Numbers/dates/amounts formatted with custom formats created via the "Number..." command will often be read as unformatted numbers. Sorry, but the only way I can think of to get around this would be a lot slower and more complex and much more likely to mess up whatever else you are doing with Excel.

The code is based on examples from Apple's Speech Manager docs and Microsoft's Excel SDK version 4, and was compiled with Symantec's Think C 5.0.4.

ExcelTalk is free, and can be given away or uploaded anywhere as long as it is unmodified and the documentation is included. The only exception is commercial shareware/freeware collections, e.g. CD-ROMs: please contact me for distributrion on these.

Version history:

Postcards, praise and bug reports to: John Blackburne, flat 6, 21st floor, 102-114 Belcher's Street. Hong Kong

© John Blackburne, johnb@hk.super.net, 17th March 1996


up to John's Home Page