Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> без Selection 
:(
    Опции темы
nworm
Дата 20.3.2007, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: нет
Всего: 8



А вот интересно, можно ли пробраться к выделенным пользователем ячейкам листа Excel без использования объекта Selection.
PM MAIL WWW   Вверх
Cyric
Дата 20.3.2007, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 27.4.2006
Где: Россия, г. Казань .

Репутация: 3
Всего: 3



А чем плох Selection ?

К активной ячейке можно обратиться через ActiveCell.
PM MAIL ICQ   Вверх
nworm
Дата 20.3.2007, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: нет
Всего: 8



В общем, там доступен только лист, к приложению (Application) пробиться не получается, а Selection использовать хочется.
Вот я и думаю, может как-то можно через лист (WorkSheet) пробиться к выделенным на нём ячейкам, не обращаясь к Application?
PM MAIL WWW   Вверх
Aloha
Дата 20.3.2007, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
**


Профиль
Группа: Участник Клуба
Сообщений: 351
Регистрация: 14.5.2006

Репутация: 5
Всего: 165



nworm

Насколько я понял, код запускается не из-под Excel'я (хотя может я и ошибаюсь). У объекта WorkSheet есть свойство Application, которое возвращает как раз ссылку на соответствующий объект. Так что можно попробовать пробиться к Selection следующим образом:
Код
  Dim v_App As Excel.Application
  Dim v_Sh As Excel.Worksheet
  Dim v_Rng As Excel.Range
  
  'подразумевается, что ссылка v_Sh на объект WorkSheet имеется
  'хотя я плохо представляю ситуацию, когда мы получили ссылку на WorkSheet
  '(т.е. имеем программный доступ к этому объекту) минуя его родительские объекты
  Set v_App = v_Sh.Application
  Set v_Rng = v_App.Selection
  
  Debug.Print v_Rng.Address


А можно даже так:
Код
  Set v_Rng = v_Sh.Application.Selection



Это сообщение отредактировал(а) Aloha - 21.3.2007, 02:57
PM   Вверх
nworm
Дата 21.3.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: нет
Всего: 8



Цитата

код запускается не из-под Excel'я

Так и есть.
Через Application не получается. А можно как-нибудь без Application, от Worksheet.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1142 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.