![]() |
word 2003 - подстановочные знаки
Кто работал с word 2003, есть ли опыт поиска с подстановочными знаками?
Хочу находить в тексте такие строки Слово! 51 Слово! 35 Слово! 27 Ищу - <(Слово)>??[0-9] И время 10:03 11:07 12:24 [0-9][0-9]:[0-9][0-9] - это работает. -------- Добавлено в 13:45 -------- Предыдущее было в 13:32 -------- Вариант рабочий: <(Слово)>*[0-9] И еще, найти строчки, короче n символов. -------- Добавлено в 14:50 -------- Предыдущее было в 13:45 -------- ^.{10**$ в PSpad находит строки длиной 10 символов. А мне надо найти и удалить все строки меньше определенного количества символов. |
Решение вижу примерно такое на VBA
Sub Макрос1() ' ' Макрос1 Макрос ' Макрос записан 09.01.2013 ' Application.Browser.Previous Dim i As Long For i = 1 To Documents(1).Paragraphs.Count строка = ActiveDocument.Paragraphs(i).Range.Text длина = Len(строка) If длина < 30 Then строка = "0" End If Next End Sub |
а похвалить меня за идею?)))))
|
Dolce Vita, а какая идея то? А то я забыл уже.
Макрос то мой недоработанный. |
Ну, ты ж, как обычно)))) Своим вопросом сломал мне мозг, я даже погуглила и почитала более-менее понятную инфу на эту тему. Далее разбила 1 твою сложную адачу на несколько спростых и вот для реализации некоторых - готовых средств не нашла и предположила, что надо написать макрос под своё ТЗ. ты ещё похихикал на это.
|
Задача решается 10 минутами программирования на С# или любом языке програмирования.
Но тут таких кодеров нету. |
В итоге пишет - запрашиваемый номер семейства не существует
|
Введи такт -код ,или через кор-файл , всё получится
|
В итоге сделал так:
Dim i As Long For i = 1 To Documents(1).Paragraphs.Count строка = ActiveDocument.Paragraphs(i).Range.Text длина = Len(строка) If длина < 10 Then ActiveDocument.Paragraphs(i).Range.Delete i = i - 1 End If Next но как сделать, чтобы в форе при удалеини строки уменьшился конечный элемент - не знаю. |
Текущее время: 04:33. Часовой пояс GMT +2. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot