Word. Позиция курсора в строке
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.141] |
|
|
Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Общие вопросы
Особенности VBA-кода
Оптимизация VBA-кода
Полезные ссылки
Word. Позиция курсора в строке
|
Сообщ.
#1
,
|
|
|
|
Определяю номер листа, на котором находится курсор
Определяю номер строки А как определить количество символов в строке до курсора? |
|
Сообщ.
#2
,
|
|
|
|
![]() ![]() Selection.Information(wdFirstCharacterColumnNumber) |
|
Сообщ.
#3
,
|
|
|
|
Вот ведь! Верите-нет - раз 100 сегодня это дело мимо проходил - считал, что это для таблиц. Спасибо, что ткнули носом
|
|
Сообщ.
#4
,
|
|
|
|
поправочка: Selection.Information(wdFirstCharacterColumnNumber) дает номер столбца, так что если необходимо получить кол-во символов ДО курсора, то пишем
![]() ![]() Selection.Information(wdFirstCharacterColumnNumber)-1 ![]() ![]() ActiveDocument.Range(ActiveDocument.ActiveWindow.Panes(1).Pages(1).Rectangles(1).Lines(1).Range.Characters.First.Start, Selection.Range.End).Characters.Count |
|
Сообщ.
#5
,
|
|
|
|
Old Bat, объектная схема - это хорошо, но для работы с переменными не совсем здорово - или я что-то не понимаю. Для того, чтобы вычислить то же кол-во символов в какой-то строке мы должны внести четыре переменных - Panes, Pages, Rectangles, Lines
Ну и ко всему я не знаю, как в этом случае определяется текущий Rectangles - все остальное знаю. Жаль, что нет - как в Ехселе - чего-то типа "активной ячейки". |
|
Сообщ.
#6
,
|
|
|
|
естественно, вариант с Information гораздо шустрее, я всего лишь показал еще одну альтернативную возможность, оговорившись, что это вариант на любителя
|
|
Сообщ.
#7
,
|
|
|
|
Может, подскажете еще каким образом определить, какие Rectangle и Paragraph являются активными, т.е. в которых находится курсор?
Пока - для определения Rectangles - пользуюсь просто выяснением количества Rectangles, и в общем-то оно работает, потому что (то, что пока мне встретилось) при наличии колонтитулов Rectangles "текстового поля" оказывается в нумерации последним, но это, конечно, до поры ![]() ![]() ActiveDocument.ActiveWindow.Panes(1).Pages(a).Rectangles.Count А для определения активного параграфа попробовал по примеру Old Bat'а с использованием объектной схемы - но... |
|
Сообщ.
#8
,
|
|
|
|
Selection.Information (wdActiveEndPageNumber) - это активная страница.
Добавлено ActiveDocument.Range(1,selection.start).Paragraphs.Count - активный |
|
Сообщ.
#9
,
|
|
|
|
чета я совсем уже туплю... такая фигня, текст вставил из буфера в ворд, теперь его надо постранично скопировать... не пойму как сделать..
подскажите плиз |