Character Editing

Posted on 1998-08-29
Last Modified: 2013-12-03
Dear Experts,
    While writing a recent program of mine, I ran into a couple of problems that i side stepped in order to complete the project.  But now since I have the opportunity to go back, I am hoping to fix/solve those problems that i encountered.  Anyway, one of the main problems that I am having, is how to get my program to take a multi-line textbox and go through character by character to see if that character matches one that i specified earlier in the program.  If it does match, I would like it to replace the found character with a new character.
    An example of this would be, in the text box it said...
"Hi, how are you
I would like the program to recognize the comma and replace it with something like a hyphen.  I am using Visual Basic5.0 (sp3) under a windows95 platform.  Please help me out here.
Question by:xTrEaSoNx
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3

Expert Comment

ID: 1431842
Would you like the program to replace as Text is typed in the TextBox or more like a Search and Replace at a later point?

Author Comment

ID: 1431843
  I would like it to replace it at a later time.  Like when a menu item is clicked.

Accepted Solution

mcix earned 50 total points
ID: 1431844
Here is one of many approaches:

Public Sub ReplaceAChar(SourceTextBox As TextBox, ReplaceThis As String, WithThat As String)

    Dim mlngTextLength As Long
    Dim mlngCurrentPosition As Long
    mlngTextLength = Len(SourceTextBox)
    For mlngCurrentPosition = 1 To mlngTextLength
        If Mid$(SourceTextBox.Text, mlngCurrentPosition, 1) = ReplaceThis Then
            SourceTextBox.SelStart = mlngCurrentPosition - 1
            SourceTextBox.SelLength = 1
            SourceTextBox.SelText = WithThat
        End If
End Sub

To use it you would code:

ReplaceAChar Text2, ",", "-"

This would replace the letter commas with hyphens

If this doesn't do what you want, then give me more details and I will get you something that does...
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now


Author Comment

ID: 1431845
    I'm not sure what i'm doing wrong, but that code you gave me does nothing.  I have a multi-line textbox and a menuitem on my form.  i tried that code first in the declarations section of the form first and put the calling code in the menu and it had no result.  Second, i tried putting the code in a module and calling it from there.  Still no result.  Last of all i tried putting the code directly into the menu and still, no result.  Is there something that I'm missing?

please help,

Expert Comment

ID: 1431846

Sorry that you are having trouble...

The Public Sub should be in either the declarations of the form or in a separate BAS module.

The calling code should be in the Event you want to have the Search and Replace to occur.

Did you replace the Text2 with the name of your Textbox?


Author Comment

ID: 1431847
   I got it working,  thanks,this was a big help.

Expert Comment

ID: 1431848
No problem...

If you have any more problems/questions you can e-mail me @:

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question