C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Количество листов в рабочей книге Excel
Himan
Отправлено: 22.09.2005, 11:02


Ученик-кочегар

Группа: Участник
Сообщений: 12



Народ!
Помогите, чо-то не втыкаю я в этот Вижуал бейсик... Примеры смотрю в экселе, а писать надо в билдере. Мне нужно узнать сколько листов в рабочей книге (или в файле экселя, по-простецки говоря). Вот что я пишу
CODE

Edit2->Text=AnsiString(App.OlePropertyGet("WorkBooks").OleProcedure("WorkSheets", "Count"));

Компилятор показывает на конец строки и говорит:
[C++ Error] MainEX1.cpp(32): E2285 Could not find a match for 'AnsiString::AnsiString(void)'
[C++ Error] MainEX1.cpp(32): E2031 Cannot cast from 'void' to 'AnsiString'

Причём тут void если это число?
Заранее спасиба

Отредактировано olegenty — 22/09/2005, 12:07
olegenty
Отправлено: 22.09.2005, 11:06


Ветеран

Группа: Модератор
Сообщений: 2412



что-то мне подсказывает, что должно быть что-то типа
CODE

Edit2->Text = App.OlePropertyGet("WorkBooks").OlePropertyGet("WorkSheets").OlePropertyGet("Count");

не проверял, могу ошибаться.
Himan
Отправлено: 22.09.2005, 12:17


Ученик-кочегар

Группа: Участник
Сообщений: 12



Не работает. Ругается типа "неправильное имя". Но ты меня натолкнул на мысль. Я поковырялся и вот что получилось:
CODE
Edit2->Text = AnsiString(App.OlePropertyGet("ActiveWorkBook").OlePropertyGet("Sheets").OlePropertyGet("Count"));


Спасибо за ответ. wink.gif

Отредактировано Himan — 22/09/2005, 12:27

Вернуться в Технологии COM/DCOM, ActiveX