Witam!
-
Chciałbym napisać kod, który stworzy mi belkę w Stringgridzie i że potem tą belką mogę sterować kursorem GÓRA ^ i DÓŁ v.
-
Jak dopasować szerokość wybranej przeze mnie kolumny (ustalonej już w kodzie) do najdłuższego słowa w niej?
-
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.