Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизExcel2000 Найти похожие ветки
← →
nstur (2006-01-25 12:04) [0]Подскажите как сделать активным лист в Excel из Делфи.
У меня шаблон из 4-х листов. Необходимо поочередно заполнять их.
Пробую выполнить:
p:= ""КредитОМТС";
OleVariant(ExcelReport.Application).Sheets.Select(p);
выдает ошибку.
Подскажите, как активизировать лист?
← →
neat (2006-01-25 12:10) [1]Excel.WorkBooks[i].Sheets[j].Activate;
← →
nstur (2006-01-25 12:33) [2]Прошу прощения, но Sheets нет метода Activate.
← →
neat (2006-01-25 12:47) [3]Я только немного работал с Excel, извиняюсь не проверил, взял пример из
справочника www.delphiword.narod.ru. Там же
Excel.Workbooks[i].ActiveSheet.Name := ...
← →
eugie (2006-01-25 13:05) [4]vExSheet:=TexcelWorkSheet.Create([владелец]);
for i:=1 to [количество листов в книге]-1 do
begin
vExSheet.ConnectTo(vExApp.Worksheets[1] as _WorkSheet)
....
[операции с объектами на листе]
....
end;
← →
eugie (2006-01-25 13:24) [5]пардон:
vExSheet:=TexcelWorkSheet.Create([владелец]);
for i:=1 to [количество листов в книге]-1 do
begin
vExSheet.ConnectTo(vExApp.Worksheets[i] as _WorkSheet)
....
[операции с объектами на листе]
....
end;
← →
Алексей Петухов (2006-01-25 20:07) [6]Вообще вариантов одного и тогоже же дйствия с этими майкрософтовскими серверами может быть несколько.
Самый быстрый способ найти хотябы один вариант это подсмотреть как сам Excel это делает. Т.е. нажать в Excele кнопку "Начать запись макроса" протом сделать необходимые действия и окончить запись, затем посмотреть на получившийся код в VB и переписать, адаптировав, в ObjectPascal.
← →
Shirson © (2006-01-26 00:00) [7]
> nstur (25.01.06 12:33) [2]
> Прошу прощения, но Sheets нет метода Activate
Вообще-то и к Sheets так не обращаются.uses comobj;
procedure TForm1.Button1Click(Sender: TObject);
var
xl:variant;
begin
xl:=CreateOleObject("Excel.Application");
xl.visible:=true;
xl.workbooks.add;
xl.activeworkbook.Sheets.item[3].select;
end;
← →
Shirson © (2006-01-26 00:00) [8]
> nstur (25.01.06 12:33) [2]
> Прошу прощения, но Sheets нет метода Activate
Вообще-то и к Sheets так не обращаются.uses comobj;
procedure TForm1.Button1Click(Sender: TObject);
var
xl:variant;
begin
xl:=CreateOleObject("Excel.Application");
xl.visible:=true;
xl.workbooks.add;
xl.activeworkbook.Sheets.item[3].select;
end;
← →
Fay © (2006-01-26 00:39) [9]2 Shirson © (26.01.06 0:00) [8]
> Вообще-то и к Sheets так не обращаются.
В смысле?
← →
eugie (2006-01-26 05:03) [10]Определитесь, какой способ работы с excel вы хотите использовать: через раннее или позднее соединение - от этого будет зависеть и способ обращения к листам книги. Мой пример - для раннего соединения, можно, конечно и для позднего "нарисовать"...
← →
nstur (2006-01-26 08:03) [11]Алексей Петухов. Я всегда стараюсь сначало посмотреть, как происходит работа в макросах. Но реализация макроса не всегда совпадает с TExcelApplication
Shirson Спасибо.
Немного изменил Ваш пример и все получилось.
OleVariant(NsExcel.ActiveWorkbook.Sheets.Item[3]).select;
eugie Большое спасибо за пример. Помогло разобраться.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.057 c