Тема: VBA/VBS: Извлечь номер абзаца.
Полдня уже бьюсь над этой проблемой.
Как извлечь в Word номер абзаца, на котором сейчас стоит выделение (Selection то бишь)?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Полдня уже бьюсь над этой проблемой.
Как извлечь в Word номер абзаца, на котором сейчас стоит выделение (Selection то бишь)?
…
With objWord
…
Set objRange = .Selection.Range
objRange.Expand wdParagraph
WScript.Echo "Начало выделения — абзац №" & CStr(.ActiveDocument.Range(0, objRange.Start).Paragraphs.Count + 1)
WScript.Echo "Конец выделения — абзац №" & CStr(.ActiveDocument.Range(0, objRange.End).Paragraphs.Count)
…
End With
…
* получаем из выделения диапазон («objRange»);
* расширяем этот диапазон (само выделение не трогаем!) до границ абзацев;
* считаем число абзацев в диапазоне [от начала документа («0») до начала «нашего» диапазона («objRange.Start»)], добавляя +1, — это номер первого абзаца в выделении;
* аналогично считаем число абзацев в диапазоне [от начала документа («0») до конца «нашего» диапазона («objRange.Start»)] — это номер последнего абзаца в выделении.
Ну, я так понял, objRange надо объявлять только в VBS?
И wdParagraph как константу тоже...
В VBA это, по-моему, проще...
Кстати, если выделение меньше абзаца, для конца выделения номер вычисляется с ошибкой почему-то.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться