Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Поиск конца обзаца через InStr в Word / 3 сообщений из 3, страница 1 из 1
01.12.2007, 20:02:25
    #34979923
Emu
Emu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск конца обзаца через InStr в Word
Здравствуйте

Ищу фрагмент текста, заключённый между нужными мне фрагментами {#}, и записываю его в строку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  Dim buf As Range 
  Dim str As String

  Set buf = ActiveDocument.Range
  buf.Find.Execute FindText:="{#}"
  n0 = buf.End
  buf.Find.Execute FindText:="{#}"
  n1 = buf.Start

 ' записать найденный фрагмент в строку
 str = ActiveDocument.Range(n0, n1).Text

Как можно найти в этой строке (str) знак обзаца "^p"??? Пробовал так:
Код: plaintext
InStr( 1 , str, "^p", vbBinaryCompare)

Но такой вариант не подходит.
...
Рейтинг: 0 / 0
01.12.2007, 20:21:10
    #34979933
lena_###
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск конца обзаца через InStr в Word
Код: plaintext
InStr( 1 , str, Chr( 13 ))
...
Рейтинг: 0 / 0
02.12.2007, 10:53:48
    #34980175
Emu
Emu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск конца обзаца через InStr в Word
Отлично, так работает :)

А можно ли в найденном куске
Код: plaintext
ActiveDocument.Range(n0, n1).Text
сделать повторный поиск? Что то вроде этого:
Код: plaintext
1.
2.
3.
4.
  Set buf = ActiveDocument.Range
  buf.Find.Execute FindText:="^p"
  n0 = buf.End
  buf.Find.Execute FindText:="^p"
  n1 = buf.Start

Т.е. не присваивать отдельной переменной STR, а искать сразу же в этом куске.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Поиск конца обзаца через InStr в Word / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]