Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скопировать лист в книге Excel [D6, WinXP]


Garry ©   (2004-08-26 14:02:00) 

Здравствуйте!
1. Из проги открываю книгу с одним отформатированным листом. После ввода данных надо сделать копию листа, задать ему другое имя и вставить после первого.
2. Где вообще можно найти методы для работы с Excel?


YurikGL   (2004-08-27 07:03:00) [1]

ИМХО компоненты лучше.

> Garry   (27.08.04 06:55) [15]


...Sheets['List_Name'].....

В смысле не работает? Ты сначала через Code completion узнай какой тип там должен быть, во вторых, если внимательно изучишь свойтва Sheet то увидишь, что там есть, если не ошибаюсь items и писать нужно Sheets.items['List_Name'] или item...


Garry   (2004-08-27 06:55:00) [2]

Совершенно согласен про преимущества и недостатки, а про версии - мне как раз и не нужна привязка...


jack128   (2004-08-26 23:19:00) [3]


> Ну да, я не использую эти компоненты, весу они много
> добавляют, как мне кажется...
Не знаю, не использую..
Зато быстрее работают. Зато дают привязку к конкретной версии екселя. Зато Code completion работает. Зато ....

У каждого подхода есть преимущества и недостатки..


Garry   (2004-08-26 23:12:00) [4]

Ну да, я не использую эти компоненты, весу они много добавляют, как мне кажется...
Благодарю за помощь, я сделал, что хотел. Кстати, конструкция
... Sheets['List_Name']..... не работает. Только индекс листа.
Удачи!


jack128   (2004-08-26 19:20:00) [5]


> Там по крайней мере есть описания функций

а в хелпе к vba описаний функций нету?

> К тому-же Delphi обычно ругается, коли что не так, а
> здесь - нифига
не понял, что ты имеешь в виду? если ошибки связанные с неверным типом параметров или опечатки в названии методов, тот это издержки позднего связывания.. используй раннее(компоненты с закладки Servers)

> Может я что не так делаю?
может быть..


Garry   (2004-08-26 19:14:00) [6]

Там по крайней мере есть описания функций. К тому-же Delphi обычно ругается, коли что не так, а здесь - нифига. Может я что не так делаю?


jack128   (2004-08-26 18:36:00) [7]

Garry   (26.08.04 18:32) [11]
Так там синтаксис VBA...

а хелпе к WinApi синтаксис С и что дальше?


Garry   (2004-08-26 18:32:00) [8]

Так там синтаксис VBA...


jack128   (2004-08-26 18:24:00) [9]

см > jack128 ©   (26.08.04 14:06) [1][Ответить]


Garry   (2004-08-26 18:17:00) [10]

Благодарю Вас, джентельмены. Но где взять описания по
ExcelApp.Workbooks[1].Sheets['List_Name'].Copy(Before := ExcelApp.Workbooks[1].Sheets[1]);
и иже с ними?...
Я не такой ленивай, как могло показаться. Заранее благодарю.


jack128   (2004-08-26 16:13:00) [11]

Piter ©   (26.08.04 16:08) [7]
только скорее всего какой-нибудь ActiveWorkbooks или типа того...


хе. я просто искал это свойство в Workbooks , а оно оказалось в Application...


Piter   (2004-08-26 16:08:00) [12]

26.08.04 14:45
26.08.04 15:25

быстро ты поискал...

jack128 ©   (26.08.04 15:39) [6]
ExcelApp.Workbooks[1].Sheets['List_Name'].Select;


только скорее всего какой-нибудь ActiveWorkbooks или типа того...


jack128   (2004-08-26 15:39:00) [13]

Что нить типа
ExcelApp.Workbooks[1].Sheets['List_Name'].Select;
ExcelApp.Workbooks[1].Sheets['List_Name'].Copy(Before := ExcelApp.Workbooks[1].Sheets[1]);


Garry   (2004-08-26 15:25:00) [14]

P.S. Как перевести на синтаксис Delphi макрос:

Sub Макрос1()
Sheets("List_Name").Select
Sheets("List_Name").Copy Before:=Sheets(1)
End Sub


Garry   (2004-08-26 14:45:00) [15]

Спасибо, поищу... Удачи!


jack128   (2004-08-26 14:36:00) [16]


> С помощью макроса я пробовал - копирует нормально, но
> как передать в макрос параметры, напр. имя листа
> генерится в проге?

Не нужно макрос использовать. Просто перепиши его на синтаксис дельфей и используй в своей программе..

> Имелось в виду из Delphi.

это одно и тоже. Тебе бы не помешало изучить хотя бы основы OLE Automation , и что дельфи предлагает в поддержку этой технологии..поищи на Кооролевстве Дельфи серию статей про взаимодействие с Excel (помоему называлась "По волнам интеграции")..


Garry   (2004-08-26 14:29:00) [17]

1.С помощью макроса я пробовал - копирует нормально, но как передать в макрос параметры, напр. имя листа генерится в проге?
2. Имелось в виду из Delphi.


jack128   (2004-08-26 14:06:00) [18]


> 1. Из проги открываю книгу с одним отформатированным
> листом. После ввода данных надо сделать копию листа,
> задать ему другое имя и вставить после первого

Включаешь запись макроса, копируешь свой лист, отключаешь запись макроса и смотришь в редакторе VBA, что за код получился.

> . Где вообще можно найти методы для работы с Excel?

в хелпе к VBA


Наверх

Титульная страница Поиск, карта сайта Написать письмо