![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]"