Конференция "Corba" » Копировать строку в Excel'е [Delphi, Windows]
 
  • NeWT (26.07.06 15:09) [0]
    Здравствуйте. Как мне через OLE скопировать строку в следующую за ней? Т. е. строка с номером i должна стать копией (с сохранением формата ячеек) строки с номером i-1.
  • Попов Виталий (26.07.06 15:44) [1]
    Строка 3 становится точной копией строки 2
    procedure TForm1.Button1Click(Sender: TObject);
    Var
     Exl, WB, Sh: OleVariant;
    begin
     Exl := CreateOleObject('Excel.Application');
     try
       WB := exl.Workbooks.Add('C:\Книга1.xls');
       Sh:=Wb.WorkSheets[1];
       Sh.Rows[2].Copy(Sh.Rows[3]);
       Exl.Visible := True;
     finally
       Exl := Unassigned;
       WB := Unassigned;
       Sh := Unassigned;
     end;
    end;
  • NeWT (26.07.06 16:54) [2]
    Хмм... А не подскажите, почему такая проблема... Есть строка, все ячейки строки имеют "Общий" формат. В каждую ячейку строки записываю из Delphi данные из переменной типа String. Проблемы такие:
    1) S:= '00365868', записываю это в ячейку "Общего" типа, а в ячейке получаю '365868'. Хотя формат ячейки не изменяется - он всё ещё "Общий".
    2) S:= '133,140', записываю это в ячейку общего типа. А в ячейке оказывается '133140' да ещё она меняется в "Числовой" формат. Как бы записывать так, чтобы не менялся тип ячейки, и чтобы записывалось именно то, что я послал?
  • NeWT (26.07.06 17:04) [3]
    Хотя... Это чё-то я затупил, надо было "Текстовый" формат ставить :).
  • isasa © (26.07.06 17:07) [4]
    S:= '''00365868'; ?
  • SciFu (06.08.08 11:22) [5]
    нужно применить
    Excel.Range[Excel.Rows[1].Columns[1], Excel.Rows[er2].Columns[4]].NumberFormat:='@';;
    до заполнения, тогда...
 
Конференция "Corba" » Копировать строку в Excel'е [Delphi, Windows]
Есть новые Нет новых   [120355   +33][b:0][p:0]