3 konkretne pytanka do WAS!

0

Witam!

  1. Chciałbym napisać kod, który stworzy mi belkę w Stringgridzie i że potem tą belką mogę sterować kursorem GÓRA ^ i DÓŁ v.

  2. Jak dopasować szerokość wybranej przeze mnie kolumny (ustalonej już w kodzie) do najdłuższego słowa w niej?

  3. Wszystkie dane ze Stringgrida exportuję sobie do Excela jeszcze przed tym zapisując je do pliku np. test.xls. Chciałem zrobić tam, że on zapisuje do pliku i potem automatycznie otwiera ten plik w Excelu już gotowy do wydruku.

Do pytania 2 i 3 mam kody, ale nie mam pojęcia jak je poprzerabiać tak jak chcę :( Popatrzcie i podajcie jakieś wskazówki lub ewentualnie poprawcie kody. Zgóry będę bardzo wdzięczny :)

Pytanie 2 i 3

procedure TForm1.BitBtn3Click(Sender: TObject);

var
 ExcelSheet, ash, Range: Variant;
 i: integer;
begin
 ExcelSheet := CreateOleObject('Excel.Sheet');

 ash := ExcelSheet.ActiveSheet;

 ash.Cells[1, 1] := 'Kol 1';
 ash.Cells[1, 2] := 'Kol 2';
 ash.Cells[1, 3] := 'Kol 3.';
 ash.Cells[1, 4] := 'Kol 4';
 ash.Cells[1, 5] := 'Kol 5';
 ash.Cells[1, 6] := 'Kol 6';
 ash.Cells[1, 7] := 'Kol 7';
 ash.Cells[1, 8] := 'Kol 8';

 ash.Cells[2, 1] := 'Record_1';
 ash.Cells[2, 2] := 'jakaś wartość';
 ash.Cells[2, 3] := 'jakaś wartość';
 ash.Cells[2, 4] := 'jakaś wartość';
 ash.Cells[2, 5] := 'jakaś wartość';
 ash.Cells[2, 6] := 'jakaś wartość';
 ash.Cells[2, 7] := 'jakaś wartość';
 ash.Cells[2, 8] := 'jakaś wartość';

 ash.Cells[3, 1] := 'Record_2';
 ash.Cells[3, 2] := 'jakaś wartość';
 ash.Cells[3, 3] := 'jakaś wartość';
 ash.Cells[3, 4] := 'jakaś wartość';
 ash.Cells[3, 5] := 'jakaś wartość';
 ash.Cells[3, 6] := 'jakaś wartość';
 ash.Cells[3, 7] := 'jakaś wartość';
 ash.Cells[3, 8] := 'jakaś wartość';


 Range := ash.Range['A1:H1'];
 Range.Font.Bold := True;
 Range.Font.Size := 12;

 for i:= 1 to 8 do
  ash.Columns[i].ColumnWidth := 20;

 ExcelSheet.Application.Visible := False;
 ExcelSheet.SaveAs('e:\test.xls'); //Pelna sciezka do zapisu 
 ExcelSheet.Application.Quit;

 ShowMessage('Wszystko poszło OK');

end;

Tam gdzie jest Record i jakaś wartość, to mają być odczytane odpowiednie dane z komórek.

0
  1. Jak dopasować szerokość wybranej przeze mnie kolumny (ustalonej już w kodzie) do najdłuższego słowa w niej?

Sprawdzasz w pętli długość każdego słowa w kolumnie(ale w pikselach!!) i wtedy wybierasz największą liczbę. Do tej liczby dopasowujesz szerokość kolumny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1