Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связать Delphi и Excel 
:(
    Опции темы
StepanP
Дата 1.6.2017, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день! Программисты, знающие Delphi, помогите пожалуйста, очень нужно!!
Не получается решить проблему, она такова:
На форме расположены компоненты "RadioGroup1", "Edit_time" и "Edit1_predmet". При выборе определенного значения в RadioGroup1 (например "1"), в поле "Edit_time" выводится соответствующее значение времени звонков (оно для справки пользователю), а записанный в поле "Edit1_predmet" учебный предмет заносится в соответствующую ячейку Excel. Но при выборе какого-либо значения в поле "RadioGroup1" Delphi выдает ошибку: Invalid variant operation
Когда удаляю строку excel.Range['E10'] := Form1_week.Edit1_predmet.Text; и все остальные аналогичные, то ошибка не выходит, а необходимо эти два поля связать между собою.
Пробовал через оператор case, но все равно не работает. Иногда ошибка не выходит, но при этом ничего не записывается в файл Excel
Шаблон в Excel, куда нужно занести данные, приведен на фото

Код

procedure TForm1_week.RadioGroup1Click(Sender: TObject);
  var excel: OleVariant;
begin

  if RadioGroup1.ItemIndex=1
    then begin
      Edit_time.Text := '8:00-8:45, 8:50-9:30';
      excel.Range['E10'] := Form1_week.Edit_predmet.Text;
    end;

if RadioGroup1.ItemIndex=2
    then begin
      Edit_time.Text := '10:00-10:45, 10:50-11:30';
      excel.Range['E12']:= Form1_week.Edit_predmet.Text;
    end;

if RadioGroup1.ItemIndex=3
    then begin
      Edit_time.Text := '12:00-12:45, 12:50-13:30';
      excel.Range['E14'] := Form1_week.Edit_predmet.Text;
    end;

if RadioGroup1.ItemIndex=4
    then begin
      Edit_time.Text := '14:00-14:45, 14:50-15:30';
      excel.Range['E16'] := Form1_week.Edit_predmet.Text;
    end;

if RadioGroup1.ItemIndex=5
    then begin
      Edit_time.Text := '15:50-16:35, 16:40-17:20';
      excel.Range['E18'] := Form1_week.Edit_predmet.Text;
    end;

if RadioGroup1.ItemIndex=6
    then begin
      Edit_time.Text := '17:40-18:25, 18:30-19:10';
      excel.Range['E20'] := Form1_week.Edit_predmet.Text;
    end;

if RadioGroup1.ItemIndex=7
    then begin
      Edit_time.Text := '19:20-20:05, 20:10-20:50';
      excel.Range['E22'] := Form1_week.Edit_predmet.Text;
    end;
end;


Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  ексель.JPG 55,56 Kb
PM MAIL   Вверх
kami
Дата 11.6.2017, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

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



Цитата(StepanP @  1.6.2017,  15:59 Найти цитируемый пост)
Delphi выдает ошибку: Invalid variant operation

ну а что ему выдавать?
Объявлена переменная excel, а инициализировать ее, связывать с реальным экселем кто будет? По умолчанию она равна Unassigned, естественно что вылезает ошибка.
Компилятор не на столько волшебник, чтобы по одному наименованию переменной догадаться, что нужно сделать smile
PM MAIL WWW   Вверх
Google
  Дата 18.6.2019, 04:15 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

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

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


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

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




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


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

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