Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Excel [D6, WinXP]


Demir ©   (2005-02-01 12:57:00) 

Уважаемые мастера!
У меня такой вопрос типа такой
Например,
I := строка;
J := столбец;
I := 1;
J := 1;   -  это строка будет 'A'
ExcelWorksheet.Cells.Item[I, J].Value := '385';
I := 2;
J := 2;   -  это строка будет 'B'
ExcelWorksheet.Cells.Item[I, J].Value := '542';
Что надо делать чтобы на строке 'C' было С=A+B;

Правда, это вопрос чайника
Я только начинающий,так что сразу не бейте.
Заранее благодарен.


Gloomer   (2005-02-01 15:26:00) [1]

>Digitman ©   (01.02.05 15:15) [5]
>ты вообще как себе мыслишь сложение двух СТРОКОВЫХ значений ?

а может все таки не строковых, а Variant?
у ячейки помимо Value есть Value2.
Выдержка из справки Excel:
The only difference between this property and the Value property is that the Value2 property doesn’t use the Currency and Date data types. You can return values formatted with these data types as floating-point numbers by using the Double data type.


Digitman   (2005-02-01 15:15:00) [2]


> не получается же?


что "не получается"-то ?

ты вообще как себе мыслишь сложение двух СТРОКОВЫХ значений ?


Demir   (2005-02-01 14:48:00) [3]

Sash ©   (01.02.05 13:26) [2]
можно так

ExcelWorksheet.Cells.Item[3,3].Value:=ExcelWorksheet.Cells.Item[1,1].Value + ExcelWorksheet.Cells.Item[2,2].Value

не получается же?


Demir   (2005-02-01 13:52:00) [4]

Sash ©   (01.02.05 13:26) [2]
можно так

ExcelWorksheet.Cells.Item[3,3].Value:=ExcelWorksheet.Cells.Item[1,1].Value + ExcelWorksheet.Cells.Item[2,2].Value

Вот мои коды

Var
ExcelApplication: TExcelApplication;
ExcelWorkBook: TExcelWorkbook;
ExcelWorkSheet: TExcelWorksheet;
Visible: OleVariant;
FileName: OleVariant;
LCID: Integer;
I, J: OleVariant;
begin
Screen.Cursor := crHourGlass;
Visible := True;

ExcelApplication := TExcelApplication.Create(Self);
ExcelWorkBook := TExcelWorkbook.Create(Self);
ExcelWorkSheet := TExcelWorksheet.Create(Self);
ExcelApplication.ConnectKind := ckNewInstance;
ExcelWorkBook.ConnectKind := ckRunningOrNew;
ExcelWorkSheet.ConnectKind := ckRunningOrNew;

ExcelApplication.Connect;

 ExcelWorkbook.ConnectTo(
  ExcelApplication.Workbooks.Open('c:\aynura\k2.xls', EmptyParam, EmptyParam,
    EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, EmptyParam, EmptyParam, EmptyParam, LCID));
ExcelWorkSheet.ConnectTo(ExcelWorkbook.Worksheets.Item[1] as _Worksheet);
ExcelApplication.Visible[LCID] := False;
// J - столбец
// I - строка
I := 1;
J := 1;
ExcelWorksheet.Cells.Item[I, J].Value := '385';
I := 1;
J := 2;
ExcelWorksheet.Cells.Item[I, J].Value := '542';
ExcelWorksheet.Disconnect;
ExcelWorkbook.Close(xlSaveChanges);
ExcelWorkbook.Disconnect;
ExcelWorkSheet.Free;
ExcelWorkBook.Free;
ExcelApplication.Disconnect;
ExcelApplication.Free;

Screen.Cursor := crDefault;
end;

end.


Sash   (2005-02-01 13:26:00) [5]

можно так

ExcelWorksheet.Cells.Item[3,3].Value:=ExcelWorksheet.Cells.Item[1,1].Value + ExcelWorksheet.Cells.Item[2,2].Value


TUser   (2005-02-01 13:16:00) [6]

Range("C1").Select
ActiveCell.FormulaR1C1 = "RC[-2]+RC[-1]"


Наверх

Титульная страница Поиск, карта сайта Написать письмо