Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.29;
Скачать: CL | DM;

Вниз

Отчеты в Excel   Найти похожие ветки 

 
andrey_pst ©   (2002-07-16 14:17) [0]

Вопрос вот в чем:
Как сделать копию листа в эту-же книгу.

Такой код работает нормально:
//№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№
...
interface
...
private
{ Private declarations }
IExcelApp : Excel97._Application;
IExcelWB : Excel97._Workbook;
IExcelWS : Excel97._Worksheet;
DIExcelR : Excel97.Range;
DIExcelF : Excel97.Font;
public
{ Public declarations }
end;
...
implementation
...
const
xlLCID = LOCALE_USER_DEFAULT;
...
procedure TFMainForm.BtnSendClick(Sender: TObject);
var
...
begin
...
IExcelApp := CoExcelApplication.Create; // загрузили сервер
IExcelApp.Visible[xlLCID] := true; // отобразили сервер
...
// добавили книгу
IExcelWB := IExcelApp.Workbooks.Open("c:\sql\fd.xlt", EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, false, xlLCID);
IExcelWB.Activate(xlLCID); // активировали книгу
IExcelWS := IExcelWB.Worksheets.Item["Лист1"] as Excel97._Worksheet; // получили ссылку на лист
IExcelWS.Activate(xlLCID); // активировали лист
...
IExcelWB := nil; // освободили книгу
IExcelApp.Visible[xlLCID] := false; // скрыли сервер
IExcelApp.Quit; // закрыли сервер
IExcelApp := nil; // освободили сервер
...
end;
//№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№

А вот если нужно сделать копию первого листа в эту же книгу, например так:

...

IExcelWS := IExcelWB.Worksheets.Item["Лист1"] as Excel97._Worksheet; // получили ссылку на лист
IExcelWS.Activate(xlLCID); // активировали лист
// копирование листа
IExcelWS.Copy(EmptyParam, EmptyParam, xlLCID);
...

то получается не копия листа в этой-же книге, а копия листа в новой книге.
Попробовал подставлять значения вместо EmptyParam - получил гору матюков об ошибке.

Как быть ?


 
ПИТОН   (2002-07-16 14:41) [1]

VBA дает такой код:
Sheets("Лист1").Copy Before:=Sheets(1)



Страницы: 1 вся ветка

Текущий архив: 2002.07.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
1-95273
34634324
2002-07-15 14:10
2002.07.29
Как программно перезагрузить Windows XP?


14-95526
cyborg
2002-07-01 21:51
2002.07.29
Вау!


8-95454
NecroMan
2002-03-19 05:29
2002.07.29
Хочу сделать плагин для WinAMP


3-95236
grig
2002-07-08 15:49
2002.07.29
Как узнать, включены ли в TTable диапазоны (SetRange)


8-95458
vajo
2002-03-21 07:15
2002.07.29
Определение цвета точки в GIF