ДА
Джон Абрахам

Запрос на основе InputBox с последующей заменой части текста на введенное значение

Доброго вам!

Прошу помочь с написанием кода в VBA, смысл которого сводился бы к следующему:

Имеется Word`овский документ.
Требуется вывести пользователю запрос в виде окна с полем для ввода информации, а затем найти в тексте все значения (скажем, три буквы "тлф") и заменить их на текст, введенный пользователем в поле.

Заранее благодарю

Благодарю, тов. D4RKS33D за полный и исчерпывающий ответ!

В поисках ответа наткнулся еще на такой вариант (может кому пригодится) :

Sub Replace()

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "тлф"
.Replacement.Text = InputBox("Введите текст для замены", "Ввод данных")
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

НО! этот вариант представляется мне несколько "упрощенным" (читай - убогим) . Хотя бы потому, что в нем отсутствует проверка на ввод пустого значения, в отличии от варианта, предложенного D4RKS33D (еще раз ему спасибо)

Та
Танюша

Приятно видеть хорошо сформулированный вопрос.

Sub Replace()
Dim inputBoxText As String, inputBoxTitle As String, inputBoxResult As String
Dim genNumber As Integer
inputBoxText = "Введите текст для замены: "
inputBoxTitle = "Замена текста"
inputBoxResult = InputBox(inputBoxText, inputBoxTitle)
If inputBoxResult = "" Then Exit Sub
With ActiveDocument.Content.Find
.ClearFormatting
.Text = "Заменяемый текст"
.Replacement.ClearFormatting
.Replacement.Text = inputBoxResult
.Execute MatchCase:=True, Replace:=wdReplaceAll
End With
End Sub

Похожие вопросы
Что делать у меня какой-то запрос часто выходит!
Как вытащить значения из текста!
Как в С++ запомнить введенный текст ???
Как преобразовать в Exelе введенное число в текст?
как в иксэле убрать часть значения, введенного в ячейке?
1С 8.1 Запрос => ТаблицаЗначений => Значение
С++. Функция на замену введенной последовательности цифрами.
Если введенное значение является числом, а не текстом. Как в VBA это делается? Какой функцией это делается?
Как заменить фон в тексте?
как отключить вибрацию при введении текста на login 2?