Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.46 MB
Время: 0.031 c
4-1134017008
Strech
2005-12-08 07:43
2006.02.26
Незащищенные секции программы


6-1132258866
serko
2005-11-17 23:21
2006.02.26
Доступ на папку только на чтение!


9-1123916645
boalse
2005-08-13 11:04
2006.02.26
Воспроизведение музыки


2-1139476432
Id
2006-02-09 12:13
2006.02.26
Переход курсора после Tab


15-1138946494
Ega23
2006-02-03 09:01
2006.02.26
С Днём рождения! 3 февраля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский