word. повторяющаяся операция с результатом поиска

Программирование на Visual Basic for Applications
Alex_L
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.12.2012 (Пт) 13:33

word. повторяющаяся операция с результатом поиска

Сообщение Alex_L » 03.04.2013 (Ср) 11:15

Добрый день
Помогите, пожалуйста, бьюсь с циклом второй день безрезультатно.
Мне нужно искать в файле символы alt=", копировать идущие за ними 100 символов, и переносить в другой файл. и так до конца документа
я пишу:
Код: Выделить всё
       
Do While .Execute(FindText:="alt=", Forward:=True, _
                Format:=True) = True                         
            Selection.MoveRight Unit:=wdCharacter, Count:=100, Extend:=wdExtend
            Selection.Copy ...
        Loop

Но в результате поиска курсор не перемещается и выделение падает на начало документа

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 03.04.2013 (Ср) 15:22

Я бы вообще по-другому сделал:
Код: Выделить всё
Sub DoIt()
    Dim Strs() As String, Q As Integer
   
    ActiveDocument.Select
    Strs = Split(Selection.Text, "alt=", , vbTextCompare)
   
    For Q = LBound(Strs) + 1 To UBound(Strs)
        MsgBox Left$(Strs(Q), 100)
    Next Q
End Sub

Alex_L
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.12.2012 (Пт) 13:33

Re: word. повторяющаяся операция с результатом поиска

Сообщение Alex_L » 03.04.2013 (Ср) 15:33

Спасибо. попробую
Позвольте мне еще немного понаглеть, задача более объемная, нужно этот найденный фрагмент вставить в некую таблицу.
вот маленький кусок исходного кода, который повторяется по разным товарам:
Код: Выделить всё
                                <tr >
                        <td  class="img" bgcolor="#FFFFFF"><a href="/catalog/detail.php?ID=108231"><img src="/products_img/none_66_66.gif"  width="66" height="66" alt="Комбайн кухонный многоцелевой Frix Air"><a></td>
                        <td class="name"><a href="/catalog/detail.php?ID=108231">Комбайн кухонный многоцелевой Frix Air</a>                                                                                             
                                                                                                                                                                                        </td>
                        <td bgcolor="#FFFFFF">Nemox<br>Италия</td>
                        <td bgcolor="#FFFFFF">0094500250</td>
                        <td class="price" valign=middle bgcolor="#FFFFFF">
                                142970,00 руб.                          <br><noindex>

Здесь ищем название товара (alt="комбайн кухонный многоцелевой Frix Air") и цену (price 142970 руб) и вставляем их в таблицу: наименование, цена. Потом ищем следующий и так далее.
Это возможно?
Спасибо

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 03.04.2013 (Ср) 15:36

Возможно всё :)
Зачем только тебе Word, когда тут html?


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList