Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];

Вниз

Проблема с синтаксисом.... :-((((   Найти похожие ветки 

 
Neket   (2007-06-06 08:53) [0]

Подскажите как правельно использовать "with" ?
Делаю так:

XLApp:= CreateOleObject("Excel.Application");
XL:=XLApp.Workbooks.Add();
with XL.Sheets[2].Range["A2:AE2"] do
                           begin
                           .Font.Name:="Arial Cyr";
                           .Font.Size:=16;
                           .Font.Bold:=true;
                           .HorizontalAlignment:=3;
                         end;

Вылетает отшибка "Record, object or class type required".
При этом, если делвю так:

XLApp:= CreateOleObject("Excel.Application");
XL:=XLApp.Workbooks.Add();
XL.Sheets[2].Range["A2:AE2"].Font.Name:="Arial Cyr";
XL.Sheets[2].Range["A2:AE2"].Font.Size:=10;
XL.Sheets[2].Range["A2:AE2"].Font.Bold:=true;
XL.Sheets[2].Range["A2:AE2"].HorizontalAlignment:=3;


то все нормально.


 
MBo ©   (2007-06-06 08:55) [1]

begin
 .Font

зачем точки-то поставил?


 
Neket   (2007-06-06 08:55) [2]

Ды без разницы...

XLApp:= CreateOleObject("Excel.Application");
XL:=XLApp.Workbooks.Add();
with XL.Sheets[2].Range["A2:AE2"] do
                          begin
                          Font.Name:="Arial Cyr";
                          Font.Size:=16;
                          Font.Bold:=true;
                          HorizontalAlignment:=3;
                        end;

Тоже самое.


 
Neket   (2007-06-06 08:57) [3]

Компилятор ругается на
with XL.Sheets[2].Range["A2:AE2"] do


 
MBo ©   (2007-06-06 09:01) [4]

и правда.

для позднего связывания компилятор не может такое сделать.


 
Neket   (2007-06-06 09:05) [5]

Т.е. Придется делать так? :-(

XLApp:= CreateOleObject("Excel.Application");
XL:=XLApp.Workbooks.Add();
XL.Sheets[2].Range["A2:AE2"].Font.Name:="Arial Cyr";
XL.Sheets[2].Range["A2:AE2"].Font.Size:=10;
XL.Sheets[2].Range["A2:AE2"].Font.Bold:=true;
XL.Sheets[2].Range["A2:AE2"].HorizontalAlignment:=3;


Просто когда приходиться задавать большое колличество параметров для ячеек, код увелличивается... А соответственно и рамер проги.


 
sniknik ©   (2007-06-06 09:07) [6]

> Record, object or class type required
требуется запись, обьект или класс.

а кокого типа у тебя XLApp или XL.Sheets[2].Range["A2:AE2"]? догадываюсь что вариант (ole...).

хочеш писать с with, работай с библиотекой типов (см. импорт type library), иначе откуда компилятору знать к чему относится обращения внутри with если это определяется только на этапе выполнения...


 
Сергей М. ©   (2007-06-06 09:07) [7]


> Neket   (06.06.07 08:57) [3]


И правильно ругается.

Оператор with неприменим для OleVariant-типа.


 
sniknik ©   (2007-06-06 09:11) [8]

> Т.е. Придется делать так? :-(
лучше предварительно присвоить "ранж" переменной ->
Rg:= XL.Sheets[2].Range["A2:AE2"];
Rg.Font.Name:="Arial Cyr";
Rg.Font.Size:=10;
Rg.Font.Bold:=true;
Rg.HorizontalAlignment:=3;
и код короче и длинные переходы по вариантам уберешь.


 
Neket   (2007-06-06 09:12) [9]


> Сергей М. ©   (06.06.07 09:07) [7]
>
> > Neket   (06.06.07 08:57) [3]
>
>
> И правильно ругается.
>
> Оператор with неприменим для OleVariant-типа.


Даа но насколько я понимаю и для Variant-типа  тоже?


 
Сергей М. ©   (2007-06-06 09:19) [10]


> и для Variant-типа  тоже?


Разумеется !


 
Neket   (2007-06-06 09:21) [11]

Жаль
:-((((


 
Сергей М. ©   (2007-06-06 09:24) [12]


> Neket   (06.06.07 09:21) [11]


Что мешает бросить на форму компонент TExcelApplication и работать с Excel с использованием библ-ки типов ?


 
Neket   (2007-06-06 09:34) [13]


> Сергей М. ©   (06.06.07 09:24) [12]
>
> > Neket   (06.06.07 09:21) [11]
>
>
> Что мешает бросить на форму компонент TExcelApplication
> и работать с Excel с использованием библ-ки типов ?


Опыт... а точнее его отсутствие ;-)
Вот еслиб было где почитать про использование этого компонента.


 
Сергей М. ©   (2007-06-06 09:53) [14]


> Вот еслиб было где почитать про использование этого компонента


Здесь

http://www.google.ru/search?q=Delphi+TExcelApplication&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a

был ?


 
clickmaker ©   (2007-06-06 10:24) [15]


> [13] Neket   (06.06.07 09:34)

хм... а работать вслепую через variant проще что-ли? когда для ExcelApplication хотя бы юниты есть со списком методов


 
Amoeba ©   (2007-06-06 10:48) [16]

Можно почитать здесь:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=249


 
Anatoly Podgoretsky ©   (2007-06-06 11:36) [17]


> Вот еслиб было где почитать про использование этого компонента.

А чего там читать то, пара свойств, остальное одинаково



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

Форум: "Начинающим";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.004 c
2-1181331609
novice
2007-06-08 23:40
2007.07.01
SrollBox и Image


2-1181202588
Gr
2007-06-07 11:49
2007.07.01
Работа с таблицей без БД


2-1181209731
МинЗдрав
2007-06-07 13:48
2007.07.01
Ошибка какая то...


2-1181153421
framez
2007-06-06 22:10
2007.07.01
процессы


11-1164289862
Psychedelic
2006-11-23 16:51
2007.07.01
Unit mirror was compiled with a different version of KOL.TOnChar





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