Определение позиции курсора на теле табицы EXCEL

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.10.2005 (Вс) 0:34

А, ты в этом смысле...

Это в пойнтах, а в пикселях будет windows(1).PointsToScreenPixelsX().
Только вот как определить ширину колонки с цифрами... columns(1).left=0 всегда...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alex-lev9
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 13.07.2005 (Ср) 15:31

Сообщение alex-lev9 » 23.10.2005 (Вс) 9:08

Пробовал, но от этого становится еще непонятнее. На горизонте вырастает еще одно число.
ВНИМАНИЕ!!!

ActiveWindow.PointsToScreenPixelsX(ActiveWorkbook.ActiveSheet.Columns(7).Left) = 511

Я проверял действие этого метода. Результат его применения представляет собой исходную величину, увеличенную на 31.
Т.е., если у меня ActiveWorkbook.ActiveSheet.Columns(7).Left) = 480,
то
ActiveWindow.PointsToScreenPixelsX(ActiveWorkbook.ActiveSheet.Columns(7).Left) = 511;

если ActiveWorkbook.ActiveSheet.Columns(6).Left) = 418,
то
ActiveWindow.PointsToScreenPixelsX(ActiveWorkbook.ActiveSheet.Columns(7).Left) = 449

Похоже, этот метод как раз-то и прибавляет к columns(1).left=0 ширину столбца с номерами строк. Это можно проверить методом PointsToScreenPixelsY. Применить его к какой-нибудь точке, например ActiveWorkbook.ActiveSheet.Rows(2).Top в том виде как есть. Потом скрыть пару панелей инструментов окна Excel. Значение должно измениться.
Но этим я займусь, возможно вечером, т.к. через пару минут чешу на рыбалку. У нас сегодня отличная погода + 22 градуса.

alex-lev9
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 13.07.2005 (Ср) 15:31

Сообщение alex-lev9 » 05.11.2005 (Сб) 23:06

Как говорится, "ВОЗВРАЩАЯСЬ К НАПЕЧАТАННОМУ".

Сколько я ни бьюсь, а воз и ныне там. Нихрена у меня не получается с этими системами координат.
Попробовал, было, задать вопрос в ветке VBA http://bbs.vbstreets.ru/viewtopic.php?t=20650, но там вторые сутки тишина, поэтому, применяя военную хитрость №32, пытаюсь поискать совета у Вас.
:oops: Не велите казнить.

Пред.

Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот и гости: 52

    TopList