Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > без Selection


Автор: nworm 20.3.2007, 00:53
А вот интересно, можно ли пробраться к выделенным пользователем ячейкам листа Excel без использования объекта Selection.

Автор: Cyric 20.3.2007, 06:23
А чем плох Selection ?

К активной ячейке можно обратиться через ActiveCell.

Автор: nworm 20.3.2007, 23:22
В общем, там доступен только лист, к приложению (Application) пробиться не получается, а Selection использовать хочется.
Вот я и думаю, может как-то можно через лист (WorkSheet) пробиться к выделенным на нём ячейкам, не обращаясь к Application?

Автор: Aloha 20.3.2007, 23:42
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


Автор: nworm 21.3.2007, 16:40
Цитата

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

Так и есть.
Через Application не получается. А можно как-нибудь без Application, от Worksheet.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)