Tom
Tom

Reputation: 77

VBA String Variable Contains Other Variable

I have a string that I am trying to build with text and other variables.
Is there a way to build the string so that I can use other variables ?

I have a text file that my vba is reading to compose the body of an email.

The text file has this line:

email_body|"Final Reports will be distributed on or after \" & Me.cbo_Month.Column(0) & \" 10th. 

I am calling the function

MessageBody = getAdmSetting("email_body") 

which returns the string exactly:

Final Reports will be distributed on or after \" & Me.cbo_Month.Column(0) & \" 10th.

If I debug.print MessageBody, i get the string exactly. I am trying to get the value of Me.cbo_Month.Column(0) to print.

debug: Final Reports will be distributed on or after \" & Me.cbo_Month.Column(0) & \" 10th. 

I would like it to print: Final Reports will be distributed on or after January 10th.

Upvotes: 0

Views: 456

Answers (1)

Tim Williams
Tim Williams

Reputation: 166126

You can't easily evaluate random pieces of code in VBA like you can in some other languages. You'd be better off using tokens which you replace.

In your text file:

email_body|Final Reports will be distributed on or after {month} 10th.

then you can

Debug.Print Replace(MessageBody, "{month}", Me.cbo_Month.Column(0))

Upvotes: 2

Related Questions