Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать адрес Shapes'a? / 14 сообщений из 14, страница 1 из 1
30.08.2006, 15:01:53
    #33952659
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
Лист ексель.
На листе в ячейке нарисован квадрат.

Вопрос: как узнать адрес ячейки, в которой нарисован квадрат?

Что нужно дописать чтобы переменная z получила значение "B2"?
Код: plaintext
z=Sheets( 1 ).Shapes( 1 )...
...
Рейтинг: 0 / 0
30.08.2006, 15:04:08
    #33952673
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
TaranagaЧто нужно дописать чтобы переменная z получила значение "B2"?
То есть "B3".
...
Рейтинг: 0 / 0
30.08.2006, 19:54:35
    #33953789
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
Код: plaintext
1.
2.
? ActiveSheet.Shapes( 1 ).TopLeftCell.Address
? ActiveSheet.Shapes( 1 ).BottomRightCell.Address
Кнопкой F2 пользоваться умеешь? Запусти VBA, нажми F2, выбери слева Shape, найди справа все что угодно.
...
Рейтинг: 0 / 0
31.08.2006, 10:08:37
    #33954503
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
Так вот ты какой... СЕВЕРНЫЙ ОЛЕЕЕЕНь....
А я то все думал, как F2 пользоваться...
Спасибо!
Пойду посыпать голову пеплом :)
...
Рейтинг: 0 / 0
31.08.2006, 12:00:18
    #33954946
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
Ну здесь чтото уже и F2 не помогает...
А как быть если нужно узнать имя шапеса над которым находится мышка?
...
Рейтинг: 0 / 0
31.08.2006, 17:39:59
    #33956429
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
Для Shape - никак.
Позицию мыши можно отслеживать только на Chart или UserForm объектах.
Excel это не всего-лишь электронная таблица. Это не ГУЙ для рисования чего угодно.
...
Рейтинг: 0 / 0
31.08.2006, 17:51:07
    #33956475
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
А методом крадущегося через ж... тигра?

Например по таймеру генерится событие нажатия левой кнопки и, в случае, если выделился шапес - прога кричит его имя...
Это можно както реализовать?
...
Рейтинг: 0 / 0
31.08.2006, 17:58:16
    #33956499
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
А может тогда лучше отслеживать изменение курсора мыши при наведении на shape?

...
Рейтинг: 0 / 0
31.08.2006, 18:02:32
    #33956508
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
Или можно назначить шейпсам макрос. Типа, кликнул на нем - получил его имя.

...
Рейтинг: 0 / 0
31.08.2006, 18:04:49
    #33956512
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
TaranagaА методом крадущегося через ж... тигра?
Например по таймеру генерится событие нажатия левой кнопки и, в случае, если выделился шапес - прога кричит его имя...
Это можно както реализовать?нуууу... в теории... для Shape можно задать .OnAction="MyMacro" а в том макросе делать уже все что угодно. Но оно запустится только при клике по Shape'у....... Так что да, если таймером постоянно долбить по виртуальной левой кнопке... По идее будет работать, но учти что два клика в ячейке запускают редактирование ячейки. Так что несчастный пользователь вряд ли сможет воспользоваться клавиатурой после включения такого дятла :)

Не используй Эксель для ГУЯ, не порти себе кровь.
Возьми лучше что-нибудь более универсальное, хоть тот же Visual Basic или Delphi и делай ГУЙ там, запуская Эксель через ОЛЕ только для показа итоговых результатов.
...
Рейтинг: 0 / 0
01.09.2006, 09:44:25
    #33957429
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
White Owlнуууу... в теории... для Shape можно задать .OnAction="MyMacro" а в том макросе делать уже все что угодно. Но оно запустится только при клике по Shape'у....... Так что да, если таймером постоянно долбить по виртуальной левой кнопке... По идее будет работать, но учти что два клика в ячейке запускают редактирование ячейки. Так что несчастный пользователь вряд ли сможет воспользоваться клавиатурой после включения такого дятла :).OnAction - нашел
А как на таймер дятла повесить?
White OwlНе используй Эксель для ГУЯ, не порти себе кровь.
Возьми лучше что-нибудь более универсальное, хоть тот же Visual Basic или Delphi и делай ГУЙ там, запуская Эксель через ОЛЕ только для показа итоговых результатов.Да это понятно... Только иной раз всеже бывает желание сделать стандартными средствами нестандандартные вещи да и юзерам в этом случае не нужно будет ничего ставить :)
...
Рейтинг: 0 / 0
01.09.2006, 09:46:20
    #33957440
Taranaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
k-nikeА может тогда лучше отслеживать изменение курсора мыши при наведении на shape?

А как это событие изловить?
...
Рейтинг: 0 / 0
01.09.2006, 10:03:17
    #33957494
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
Taranaga k-nikeА может тогда лучше отслеживать изменение курсора мыши при наведении на shape?А как это событие изловить?
Если б я знал, не писал бы слово "может"))) Предполагаю, без API здесь не обойтись.

...
Рейтинг: 0 / 0
01.09.2006, 17:22:37
    #33959419
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать адрес Shapes'a?
TaranagaА как на таймер дятла повесить?
Ну вот классический пример работы с таймером. Замени в нем обновление ячейки на посылку WM_CLICK и усе.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как узнать адрес Shapes'a? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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