Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2015, 21:58   #1
wowka1973
Новичок
Джуниор
 
Регистрация: 25.04.2015
Сообщений: 6
По умолчанию поиск строк содержащих символы

доброго времени

огромное спасибо Казанскому за скрипт но он немного не соответствует что хотелось бы
в скриптах я вообще ноль по этому не пинайте сильно) возможно все это решается очень просто ))

нужно выделить все строки содержащие некоторые символы этих символов несколько. с одним символом скрипт справляется на ура, а вот как сделать чтобы он выбирал несколько , главное чтобы они были в такойже последовательности как и в исходном тексте.

в поиске текста нужно X,Z,A0,A360

с уважением Володя

Sub Макрос2()
Dim aDoc As Document, nDoc As Document
Application.ScreenUpdating = False
Set aDoc = ActiveDocument
Set nDoc = Documents.Add
aDoc.Activate
With Selection
.HomeKey Unit:=wdStory
.Find.ClearFormatting
With .Find
.Text = "14"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
End With
Do
With Selection
If Not .Find.Execute Then Exit Do
.HomeKey Unit:=wdLine
.EndKey Unit:=wdLine, Extend:=wdExtend
.Copy
.EndKey Unit:=wdLine
End With
nDoc.Activate
Selection.EndKey Unit:=wdStory
Selection.Paste
aDoc.Activate
Loop
nDoc.Activate
Application.ScreenUpdating = True
End Sub

Последний раз редактировалось wowka1973; 26.04.2015 в 08:55.
wowka1973 вне форума Ответить с цитированием
Старый 26.04.2015, 00:24   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Цитата:
Сообщение от wowka1973 Посмотреть сообщение
все это решается очень просто
Ну не так чтобы очень: 29 минут, включая изучение справки, отладку, пример и саму эту писанину.
Код:
Sub X_Z_A0_A360()
Dim numpar As Paragraph

    For Each numpar In Documents(1).Paragraphs
        If InStr(numpar.Range.Text, "X") _
        Or InStr(numpar.Range.Text, "Z") _
        Or InStr(numpar.Range.Text, "A0") _
        Or InStr(numpar.Range.Text, "A360") Then _
        numpar.Shading.BackgroundPatternColorIndex = wdYellow
    Next
    
End Sub
Изображения
Тип файла: jpg 2015-04-26_001935.jpg (40.5 Кб, 126 просмотров)

Последний раз редактировалось Sasha_Smirnov; 26.04.2015 в 00:25. Причина: иллюстрация.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 26.04.2015, 00:53   #3
wowka1973
Новичок
Джуниор
 
Регистрация: 25.04.2015
Сообщений: 6
По умолчанию

спасибо ))))

будем пробовать ))))

а то 23000 страниц перебирать в ручную )))) это просто жестоко ))))
wowka1973 вне форума Ответить с цитированием
Старый 26.04.2015, 08:08   #4
wowka1973
Новичок
Джуниор
 
Регистрация: 25.04.2015
Сообщений: 6
По умолчанию

всю ночь висели ((( висели ((( и пока без результатно (((
wowka1973 вне форума Ответить с цитированием
Старый 26.04.2015, 15:31   #5
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

wowka1973, а вручную 23 тысячи страниц... это суток 15 не вылезая!

Для таких объёмов естественно, что VBA тормозит. Страниц по 100 обрабатывайте.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 26.04.2015, 15:34   #6
wowka1973
Новичок
Джуниор
 
Регистрация: 25.04.2015
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
wowka1973, а вручную 23 тысячи страниц... это суток 15 не вылезая!

Для таких объёмов естественно, что VBA тормозит. Страниц по 100 обрабатывайте.
другими средствами уже 3500 страниц довел )

а как можено сделать чтобы в другой текс сразу перемещало найденое ?
в верхнем VBA такое есть, но не может несколько символов искать ((
wowka1973 вне форума Ответить с цитированием
Старый 26.04.2015, 15:57   #7
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Вовка, всё это можно сделать. И даже нужно, если это работа.

Интересно, что другие средства вам больше подошли!
Sasha_Smirnov вне форума Ответить с цитированием
Старый 26.04.2015, 16:09   #8
wowka1973
Новичок
Джуниор
 
Регистрация: 25.04.2015
Сообщений: 6
По умолчанию

да это работа .
другие средства.
скажем так это программа для ЧПУ станка, которая сделана несколько коряво, вот эту корявость удалось улучшить, но все равно осталась еще много лишнего.
по моим посчетам должно остаться порядка ста страниц(((
вот пытаюсь дальше оптимизировать )))
и буду примного благодарен, если будет помощь ) как говорится моя благодарность не будет знать границ в пределах разумного )))
wowka1973 вне форума Ответить с цитированием
Старый 26.04.2015, 17:12   #9
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

Цитата:
в поиске текста нужно X,Z,A0,A360
эти строки надо выделить

или
Цитата:
по моим посчетам должно остаться порядка ста страниц(((
убрать все кроме этих строк

Код:
Sub X_Z_A0_A360()
Dim numpar As Paragraph
open "c:\temp\f_x_z_a0_a360.doc" for output as #1
    For Each numpar In Documents(1).Paragraphs
        if numpar.Range.Text like "*X*Z*A0*A360" Then 
       print #1,numpar.Range.Text ;
        endif
    Next
    close #1
End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание

Последний раз редактировалось shanemac51; 26.04.2015 в 17:17.
shanemac51 вне форума Ответить с цитированием
Старый 26.04.2015, 17:20   #10
wowka1973
Новичок
Джуниор
 
Регистрация: 25.04.2015
Сообщений: 6
По умолчанию

примного благодарен, сейчас буду пробовать )))
wowka1973 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив строк текста, строка символов разделителей. Сформировать текст из строк, содержащих заданное слово. Отсортировать дестронг Помощь студентам 1 16.05.2014 08:48
Удаление строк не содержащих признак 1i1i Microsoft Office Excel 3 03.09.2013 12:23
Посчитать количество строк содержащих определенное слово cloud.00 PHP 1 31.03.2012 12:25
поиск слов содержащих пробел soo Помощь студентам 0 01.12.2011 18:54
Удаление строк содержащих определеенный текст Timur12 Microsoft Office Excel 1 26.03.2010 14:34