Главная страница
    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.049 c
3-1135859218
Igorioha
2005-12-29 15:26
2006.02.26
Объясните наконец про libmysql.dll!


15-1139065314
PARUS
2006-02-04 18:01
2006.02.26
Экран в рисунок


4-1134025564
leonidus
2005-12-08 10:06
2006.02.26
Не получается удалить иконку приложения из Atl+Tab


2-1139199972
TimScorp
2006-02-06 07:26
2006.02.26
DLL.


6-1132258793
Иван12345
2005-11-17 23:19
2006.02.26
Передача информации о постоянной активности приложения





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский