![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите! OLE Excel! [MSSQL]
DBDev © (2003-07-16 12:42:00)То есть создаем оле, все настраиваем, переименовываем первую из 3-х вкладок во вновь созданной книге, но как перейти на вторую и переименовать ее, как сделать ее активной, может кто подскажет?
V = Variant::CreateObject("excel.application");
V.Exec(PropertySet("Visible") << false);
V.Exec(PropertyGet("Workbooks"));
V.Exec(PropertySet("SheetsInNewWorkbook") << 3);
V.Exec(Function("Workbooks")).Exec(Procedure("Add"));
V.Exec(PropertyGet("ActiveSheet")).Exec(PropertySet("Name") << "ааааа");
V.Exec(PropertyGet("ActiveSheet")).Exec(PropertySet("item") << 2); // не работает
V.Exec(PropertyGet("ActiveSheet")).Exec(PropertySet("Name") << "ббббб");
...
Sandman25 (2003-07-16 16:24:00) [1]Опять с руками что-то :)
(Excel.Workbooks.Items[Excel.Workbooks.Count].Sheets.Item[2] as _WorkSheet).Activate(LOCALE_USER_DEFAULT)
Sandman25 (2003-07-16 16:20:00) [2]Даже еще хуже, я и сам немного ошибся в получении WorkBook.
Надо:
(Excel.ActiveWorkbook.Sheets.Item[2] as _WorkSheet).Activate(LOCALE_USER_DEFAULT)
или
(Excel.Workbooks.Items[IExcel.Workbooks.Count].Workbook.Sheets.Item[2] as _WorkSheet).Activate(LOCALE_USER_DEFAULT)
Хотя лучше использовать результат функции Workbooks.Add, которая возвращает как раз добавленную книгу.
Sandman25 (2003-07-16 16:13:00) [3]Внимательнее читаем. Sheets, а не Worksheets.
DBDev (2003-07-16 13:48:00) [4]В моем случае:
V.Exec(Function("Workbooks")).Exec(PropertyGet("Worksheets")).Exec(PropertyGet("Item") << 2).Exec(Function("Activate"));
Не работает! Не понимает Worksheets
Sandman25 (2003-07-16 13:01:00) [5](Excel.WorkBooks.Sheets.Item[2] as _WorkSheet).Activate(LOCALE_USER_DEFAULT)
Осталось только перевести на С :)