Главная страница
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.045 c
1-1107016985
hamster
2005-01-29 19:43
2005.02.13
Ctrl+Alt


3-1105336148
Sens
2005-01-10 08:49
2005.02.13
Помогите сделать запрос с двойной связью


14-1106383703
Antonn
2005-01-22 11:48
2005.02.13
Создание файла справки.


4-1103180200
Роман
2004-12-16 09:56
2005.02.13
Вопрос по работе с COM портом


11-1089804973
TrayIcon
2004-07-14 15:36
2005.02.13
TrayIcon + Menu