Excel скопировать лист в другую книгу

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

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

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

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

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

P.S. Как перевести на синтаксис Delphi макрос:Sub Макрос1() Sheets("List_Name").Select Sheets("List_Name").Copy Before:=Sheets(1)End Sub

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

26.08.04 14:4526.08.04 15:25быстро ты поискал...jack128 © (26.08.04 15:39) [6]ExcelApp.Workbooks[1].Sheets["List_Name"].Select;только скорее всего какой-нибудь ActiveWorkbooks или типа того...

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

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

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

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

Garry (26.08.04 18:32) [11]Так там синтаксис VBA...а хелпе к WinApi синтаксис С и что дальше?

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

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

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

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

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

ИМХО компоненты лучше.> Garry (27.08.04 06:55) [15] ...Sheets["List_Name"]..... В смысле не работает? Ты сначала через Code completion узнай какой тип там должен быть, во вторых, если внимательно изучишь свойтва Sheet то увидишь, что там есть, если не ошибаюсь items и писать нужно Sheets.items["List_Name"] или item...

Наверх