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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение строки, Работа с TExcelApplication, Нужно выделить и скопировать строку 
:(
    Опции темы
Nicolas
Дата 3.5.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть проблема работы с ExcelApplication, с помощью данного компонента подключаюсь и работаю с Excell-ем, работаю без Ole и соотв.  некоторые подходы описанные во многих источниках не работают... Необходимо скопировать целиком строку, имеющую свое форматирование и вставить после определенной строки
вот мой код:
Код

  XLApp.Visible[0] := True;
  XLApp.SheetsInNewWorkbook[0] := 1;
  XLWbook.ConnectTo(XLApp.Workbooks.Add(EmptyParam,0));

  XLWSheet.ConnectTo(XLApp.ActiveWorkbook.Sheets.Add(EmptyParam, XLApp.ActiveSheet, 1, EdWay.Text, 0) as ExcelWorksheet); //связываюсь с шаблоном
  XLWSheet.Name := 'Н.№'+CurrentSendObject.Name;  // задание имени страницы
  ...
  XLWSheet.Cells.Range[IntToStr(Rowtmp+1),IntToStr(Rowtmp+1)].Select;  


 на последнюю строку выдает ошибку: "Project print.exe raised exception class EOleException with messge 'Ole error 800A03EC'"

а строка:
Код

   XLWSheet.Rows.Range['A'+IntToStr(Rowtmp),Emptyparam].Select;

Выделяет только одну ячейку...
Соотв. методы copy и past тоже не работают :(
Буду очень презнателен за помощь..

PM MAIL   Вверх
Albinos_x
Дата 3.5.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



вот так у меня работает:
Код
...
ExcelApplication1.Visible[LOCALE_USER_DEFAULT]:=True;
   ExcelWorksheet1.Range['A5','F5'].Copy(EmptyParam);
   ExcelWorksheet1.Range['A7','F7'].Select;
   ExcelWorksheet1.Paste;
...



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Nicolas
Дата 3.5.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Это выделение диапазона, а мне к сожалению нужна вся строка индекс которой хранится в Rowtmp
PM MAIL   Вверх
Albinos_x
Дата 4.5.2007, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



а что мешает сделать, тоже с Rowtmp?


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Nicolas
Дата 7.5.2007, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мешает то что на строчку:
Код

 XLWSheet.Cells.Range[IntToStr(Rowtmp+1),IntToStr(Rowtmp+1)].Select; 

выдается ошибка про которую я уже писал :(
PM MAIL   Вверх
Albinos_x
Дата 7.5.2007, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



а где ты у меня в коде увидал XLWSheet.Cells.Range ?????


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Nicolas
Дата 7.5.2007, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Убрал у себя Cell получил вот такой код:
Код

      XLWSheet.Range[IntToStr(Rowtmp+1),IntToStr(Rowtmp+1)].Copy(EmptyParam);
      XLWSheet.Range[IntToStr(Rowtmp+1),IntToStr(Rowtmp+1)].Select;
      XLWSheet.Paste;


Ошибка та же...
PM MAIL   Вверх
Albinos_x
Дата 7.5.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

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



Код

...
   ExcelWorksheet1.Range['A'+IntToStr(Rowtmp+1),'IV'+IntToStr(Rowtmp+1)].Copy(EmptyParam);
   ExcelWorksheet1.Range['A'+IntToStr(Rowtmp+2),'IV'+IntToStr(Rowtmp+2)].Select;
   ExcelWorksheet1.Paste;
...



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Nicolas
Дата 8.5.2007, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Rrader
Girder

Запрещено:

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

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


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

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

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


 




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


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

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