View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Charles Chickering Charles Chickering is offline
external usenet poster
 
Posts: 272
Default referring to increasing VBA variable name in loop

An array seems like it would be well suited for your application. Try
something like this:
Dim Phrase(1 to 30) As String
Phrase(1) = "Hello"
'Repeat filling phrases 2 - 30
For cnt = 1 to 30
Application.Speech.Speak Phrase(cnt)
Next
--
Charles Chickering

"A good example is twice the value of good advice."


" wrote:

I am using VBA to put together some phrases to be spoken with the text
to speech feature in excel.

What I've got is a list of string variables,

Phrase1
Phrase2
Phrase3
....
Phrase30

which are set equal to different words or phrases such as
Phrase1 = "Hello"

I can hard-code a variable name into the speech code such as:

XL.Speech.Speak Phrase1

this will successfully speak the string assigned to Phrase1.

What Im having trouble with is referring to the Phrase1-30 variables
in a for loop, something like

for i = 1 to 30
xl.speech.speak phrase & i
next

This code doesn't produce any speech, I'm assuming because the
variable name isn't being passed as intended. How can I refer to
variables within a loop, when the loop # (i) is part of the variable
name?

Thanks.