Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Номер ТЕКУЩЕГО абзаца в Word VBA Добавлено: 18.07.06 14:18  

Автор вопроса:  _ICE_ | ICQ: 354-671-214 
Хотелось бы узнать номер текущего абзаца в Word через VBA

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 18.07.06 22:08
Зачем тебе номер, если есть сам selection.paragraphs(1)?

Ответить

Номер ответа: 2
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #2 Добавлено: 19.07.06 09:43
Объясняю задачу: есть форматированный текст, мне нужно из этого текста скопировать кусок, который начинается с символов ";(57)" и заканчивается первым встреченным после этих символов разрывом раздела. Найти разрыв абзаца и комбинацию символов очень просто, но создать Selection который начинается с ";(57)" и заканчивается разрывом так не получится - неизвестен номер абзаца, в котором эти ориентиры найдены.

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 19.07.06 22:31
Странный ты...
Настроил Find на поиск... выполнил... потом find.parent.paragraphs(1).range, и собственно всё...
Ну или там range(find.parent.start, find.parent.paragraphs(1).range.end), что точнее...
Но если использовать поиск по регулярному выражению, что word умеет, то можно искомый range найти сразу find'ом...
Но нет, упорно ищет номер...

Ответить

Номер ответа: 4
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #4 Добавлено: 20.07.06 09:56
Насчет первого варианта - попробую, спасибо, но вот второй вариант конечно был бы гораздо проще, но он не прокатит - как ты заметил ищу я текст, начинающийся с (57), т.е. со скобок, а скобки используются в регулярных выражениях как операторы. Но если подскажешь как можно при помощи регулярных выражений найти текст вида ";(*)" буду очень спасибо...

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 20.07.06 22:21
Ха ха...

Не, дело не в этом, дело в том, что ^p нельзя найти, если ищется регэксп.

А скобки как обычно, "\(57\)".

Ответить

Номер ответа: 6
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #6 Добавлено: 21.07.06 10:06
Я и предполагал что есть что-то подобное, времени не было по справке лазить, спасибо. А вот вторая твоя проблемма - совершенно не проблемма. Перед операцией поиска я делаю операцию замены и заменяю разрыв раздела на что-нибудь вроде "РРРаззррыыввРаааззддееллаа", и ищу уже эту строку. Огромная благодарность, моя проблемма решена полностью.

Ответить

Номер ответа: 7
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #7 Добавлено: 03.08.06 12:07
Эврика! GSerg, нашел. Правда не номер абзаца, но вариант тоже устраивает:

W.Selection.Information
(wdFirstCharacterLineNumber)
W.Selection.Information(wdActiveEndAdjustedPageNumber)

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

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам