Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при считывании с Excel, чего то не хватает? 
:(
    Опции темы
Андракула
Дата 28.11.2005, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!
У меня следующая ошибка при считывании данных с excel. smile

вот что выдается:

[LINKED ERROR] Unresolved external
'System::VariantSystem::Variant::OlePropertyGet<int, int>(const System::AnsiString&, int, int)'
referenced from C:\UNIT1.OBJ

а вот кода кусок:

Код

#include <vcl.h>
#pragma hdrstop

#include <ComObj.hpp>
#include <utilcls.h>

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        XL=CreateOleObject("Excel.Application");
}

__fastcall TForm1::~TForm1()
{
   XL.OleProcedure("Quit");
}

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{

        XL.OlePropertyGet("WorkBooks").OleProcedure("Open","C:\\test.xls");
        XL.OlePropertySet("Visible",true);

        sheets=XL.OlePropertyGet("WorkSheets",1);
       Variant result,cur;
       cur = sheets.OlePropertyGet("Cells",1,2);
       result = cur.OlePropertyGet("Value");
}


если поможет, вот еще и header к нему:

Код


#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:
        TButton *Button1;
        void __fastcall Button1Click(TObject *Sender);
private:    
                Variant XL,sheets;
public:        
        __fastcall TForm1(TComponent* Owner);
         __fastcall ~TForm1();
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif


Заранее всем спасибо!
Буду безумно счастлив советам, а то запарился на этом уже![code=cpp]
PM MAIL   Вверх
sexton
Дата 29.11.2005, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


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

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



Вместо
Цитата
cur = sheets.OlePropertyGet("Cells",1,2);


Пиши
Код

  cur = sheet.OlePropertyGet("Cells").OlePropertyGet("Item",1,2);



PM MAIL WWW ICQ   Вверх
Андракула
Дата 29.11.2005, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, но все равно не работает, такая же ошибка smile smile
PM MAIL   Вверх
sexton
Дата 30.11.2005, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sexton=Пономарь (eng)
**


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

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



http://wladm.narod.ru/Borland/excel.html - одно из самых подробных руководств по работе с Excel. Попробуй, может там чего найдешь.
PM MAIL WWW ICQ   Вверх
Андракула
Дата 30.11.2005, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте! Спасибо за помощь!

Да я от туда и брал как раз пример smile

smile smile smile
Может с версиями Windows или Excel что то не так?

У меня Win XP, а office пробовал и 2003 и 2000.

PM MAIL   Вверх
Андракула
Дата 1.12.2005, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Cовершилось чудо!!!!!!!!!!!!!!
Получилось!!!!
smile smile smile
Я переустановил office (установил 2000), переустановил builder5 (при установке указал, что используется office2000), ну и считываемый файл надо было еще в этом же office создать. Вот и все!
Круто!!!! smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




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


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

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