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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с Excel 
:(
    Опции темы
TYRARGO
Дата 23.6.2006, 05:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Уважаемый Albinos_x!
Пытаюсь работать через OLE... Проблема состоит в том, что обьем данных, которые импортируются из источника в Excel всё время варьируется и воспользоваться статичным шаблоном не представляется возможным. Т.е. надо "добавлять" под них новые строки...smile Почему "добавлять" в кавычках - мне, собственно, нужно только рисовать очередные границы (табличную сетку) с новой строки... Вот, собственно и всё...
Как реализовать подобное без использования сторонних компонентов и компонента ExcelApplication?

Большая просьба помочь начинающему программисту...smile

С уважением, TYRARGO
 
PM MAIL   Вверх
YurikGL
Дата 23.6.2006, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я, конечно, не Albinos_x, но....
Я так понял, что есть некая таблица с сеткой, у которой заранее неизвестное число строк. При этом после таблицы тоже есть некие данные, которые желательно держать в шаблоне... Если это так, то:
Создаем шаблон. В нем имеем таблицу с 2-мя строчками со всеми границами. При экспорте втыкаем между этими строчками нужное число строчек. При этом все границы сохранятся.
После этого заполняем таблицу через вариантный массив.
 
Макрос выглядит примерно так:
Код

    Rows("5:5").Select
    Selection.Insert Shift:=xlDown

Или так
   Range("B4").Select
 
Код

   Selection.EntireRow.Insert
 

Это сообщение отредактировал(а) YurikGL - 23.6.2006, 21:15
--------------------
 
PM MAIL WWW ICQ   Вверх
TYRARGO
Дата 26.6.2006, 06:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код должен выглядеть так?

Код

var excel,workbook,worksheet,font:variant;
FIELD_VAL:String;
z:integer;

begin
excel:=createoleobject('Excel.application');
workbook:=excel.workbooks.add('c:\proba.xls');
excel.worksheets[1].select;
excel.cells.Range("B4").Select
{добавим пару строк}
for z:=1 to 3 do
begin
excel.Selection.EntireRow.Insert;
end;
Excel.visible:=true;
end;


Делфя ругается на "Range"... Говорит, что не знает его...   

Это сообщение отредактировал(а) Girder - 26.6.2006, 10:08
PM MAIL   Вверх
TYRARGO
Дата 26.6.2006, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извиняюсь, сам нашел ошибку...smile
обьявил-таки Range, как variant...

Большое спасибо за подсказку, выручил, брат!smile 
PM MAIL   Вверх
TYRARGO
Дата 26.6.2006, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Еще один маленький вопрос!smile
При занесении данных в Excel не сохраняются свойства ячеек, которые указаны в шаблоне... 
Как установить "перенос по словам"?
И вообще, где можно прочитать про все эти свойства? 


M
Girder
Одна тема - Один вопрос!
 
PM MAIL   Вверх
_hunter
Дата 26.6.2006, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



в справке VB.
вообще проще записать макрос и посмотреть на его код... 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Albinos_x
Дата 27.6.2006, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


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

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



Цитата(TYRARGO @  26.6.2006,  10:35 Найти цитируемый пост)
Еще один маленький вопрос!
При занесении данных в Excel не сохраняются свойства ячеек, которые указаны в шаблоне... 
Как установить "перенос по словам"?
И вообще, где можно прочитать про все эти свойства? 

по аналогии как написано в моей статье:
Код
...
ExcelApp.Range['A1','D1'].WrapText:=true;
...
 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.1152 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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