Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Excel   Найти похожие ветки 

 
Demir   (2005-02-01 12:57) [0]

Уважаемые мастера!
У меня такой вопрос типа такой
Например,
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;

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


 
TUser ©   (2005-02-01 13:16) [1]

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


 
Sash ©   (2005-02-01 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) [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

Вот мои коды

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.


 
Demir   (2005-02-01 14:48) [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

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


 
Digitman ©   (2005-02-01 15:15) [5]


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


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

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


 
Gloomer ©   (2005-02-01 15:26) [6]

>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.



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

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
4-1103887279
Sphinx
2004-12-24 14:21
2005.02.13
Имеет ли TTread Handle


6-1101727851
Jay
2004-11-29 14:30
2005.02.13
Использование ресурсов другой машины


6-1101657078
Muhan
2004-11-28 18:51
2005.02.13
Кто знает, как можно обойти это прикол??


1-1106998266
Antonn
2005-01-29 14:31
2005.02.13
Утечка памяти


1-1106331460
Александр1
2005-01-21 21:17
2005.02.13
Защита от пиратства