Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 vba не подсказывает методы и свойства для excel объекта  [new]
Seally
Member

Откуда:
Сообщений: 13
Всем доброго времени суток)

Заранее прошу прощения за возможно глупый вопрос, я честно потратила кучу трафика из своих рабочих метров, но то ли неправильно формулирую, то ли не там ищу...

Пишу код для генерации отчета в Excel 2003. База в MS Access 2003. Проверено подключение библиотек.

Обычное начало...
Dim exa As Excel.Application, oWB As Excel.Workbook
Set exa = CreateObject("Excel.Application")
exa.Workbooks.Open ("D:\work\tmpl\spr.xlt")

Дальше, если я хочу выделить третий лист в этом файле (он там точно есть), я по идее пишу
exa.Sheets(3).Select

- так вот если после Sheets ставлю индекс, а потом точку, то редактор не подсказывает, нет выпадающего списка свойств и методов. Если индекс (число или имя вкладки) не указывать, то список есть. То что такой синтаксис работает, я знаю, потому что у меня в другом проекте (Delphi 5 + Oracle 9) есть подобная конструкция - oExcel.Sheets[3].Select; - и она работает.

У меня две версии:
1) Где-то что-то не подключено в этом аксесе, но я проверила Tools/References подключена Microsoft Excel 11.0 Object Library
2) я что-то неправильно делаю - я пробовала по-разному: перечитала кучу хелпа, пробовала выделять ячейки, столбцы, листы, ставила круглые, квадратные скобки, писала имена, гуглила на русском и на английском, полностью копировала примеры из хелпа... как только пытаюсь конкретизировать элемент, указывая его имя или индекс, все приплыли, подсказок нет как нет - наобум писать как-то неуютно.

Буду очень признательна, если мне помогут, хотя бы укажут, даже если я ошибаюсь в элементарном (вполне допускаю, что уже заклинило меня) потому как я, честно говоря, просто не знаю куда смотреть уже и как спрашивать.
15 мар 12, 14:20    [12253353]     Ответить | Цитировать Сообщить модератору
 Re: vba не подсказывает методы и свойства для excel объекта  [new]
Бенедикт
Member

Откуда:
Сообщений: 2099
Seally,

Свойство Excel.Application.Sheets.Item(индекс) описано как Object, т. е. COM-объект неизвестного на момент редактирования и компиляции типа. Откуда бы среде разработки знать, какие у него могут быть или не быть свойства и методы?
15 мар 12, 14:49    [12253706]     Ответить | Цитировать Сообщить модератору
 Re: vba не подсказывает методы и свойства для excel объекта  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20863
Подсказка в экселе не всегда действительно выдается и не только для этой коллекции.
можно сделать так:
Dim EXASH as Worksheet
Set EXASH=exa.Sheets(3)
EXASH.Select
в этом случае подсказка будет

А можно писать без подсказки - работать будет.

А в 98% случаев можно обойтись без Select, в нем обычно нет необходимости
15 мар 12, 14:58    [12253819]     Ответить | Цитировать Сообщить модератору
 Re: vba не подсказывает методы и свойства для excel объекта  [new]
Seally
Member

Откуда:
Сообщений: 13
Ребята, большое спасибо, что откликнулись)

Прошу прощения, за Select и Item, скорре всего я переборщила с конкретизацией. Просто хотелось привести пример, дабы не быть голословной.

Основное, что меня смущает, это даже не то что Item (хотя привычка вставлять Item для всех объектов, где возможно, взялась после того, как пришлось писать в Delphi 5, там оно не понимает, когда ему пишешь, например, oWord.Tables(1).Rows(5).Select, нужно обязательно писать oWord.Tables.Item(1).Rows.Item(5).Select) и знаю, что без Select-а можно обойтись, основное, что смутило - это то, что невозможно получить подсказку после того, как обозначаю нужный мне элемент коллекции. А писать коды генераций в Delphi приходится с открытым редактором vba, я же не могу помнить все свойства и методы :)

Тут по старинке, открываю, редактор вба, начинаю работать с объектом ексель, а тут на тебе: хоть выполнить установку нужной ширины, хоть выделить, хоть встать в начальную позицию, чтобы начать вывод данных - ничего не показывает. Привыкла, что с word-овыми объектами таких проблем не было.

Еще раз благодарю за помощь) Обойдусь тем, что показывает без конкретизации.
15 мар 12, 15:32    [12254240]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить