Форум Команды NeTTeam
http://vbnet.flybb.ru/

Форматирование текста
http://vbnet.flybb.ru/topic80.html
Страница 1 из 1

Автор:  vbnet [ 21-08, 09:41 ]
Заголовок сообщения:  Форматирование текста

Перенесенная тема

Нужна помощь. В текстовом файле есть текст, который необходимо отформатировать в соответствии с образцом. Например дописать или убрать «0» в определенных местах. Причем, т.к. «0» цифра распространенная, то сначала надо найти кусок текста по шаблону, в нем маленький кусок текста, и там уже дописывать или стирать «0». И так надо проверить весь текст. Надо как-то написать цикл, но в этом совсем не селен. Через запись макросов в word записал макрос, который дописывает «0» в нужном мне месте, но вот как зациклить - не знаю. Естественно тут много мусора, но это word так все вписывает. Надо как-то go to наверно прописать. Но вот куда?

Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 20.08.2007 maximace
'
Selection.Find.ClearFormatting
With Selection.Find
.Text = "УСК-??-??-???-?#"
.Replacement.Text = "0^&"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.Find.ClearFormatting
With Selection.Find
.Text = "УСК-??-??-???-?#"
.Replacement.Text = "0^&"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.ClearFormatting
With Selection.Find
.Text = "?#"
.Replacement.Text = "0^&"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "?#"
.Replacement.Text = "0^&"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseStart
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseStart
End If
.Find.Execute
End With
End Sub

вот такой вот текст. Поможете?

Автор:  vbnet [ 21-08, 15:38 ]
Заголовок сообщения: 

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

Автор:  SAS [ 23-08, 23:21 ]
Заголовок сообщения: 

Немного непонятно. Я в VBA разбираюсь неплохо. Ты бы прислал файлик текстовый и объяснил там что на на что заменять.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/