Jak ustawić rodzaj formatowania komórki w Excelu za pomocą Delphi?

0

Oczywiście znalazłem sporo różnego kodu na googlach, ale jakoś albo nie działa i wywala błąd: Ustawienie właściwości NumberFormat klasy Range jest niemożliwe, albo jak już mi się uda (udało mi się raz z formatowaniem '@' - Tekst).

Ogólnie robię coś takiego (pominięty kod raczej nie ma znaczenia dla sensu, a może zaciemnić obraz):

 
var Excel: Variant;
    Sheet : Variant;
    Selection : Variant;
    wiersz_num: Integer;
(...)
                            Excel := CreateOleObject('Excel.Application');
                            Excel.WorkBooks.Add();
                            Excel.DisplayAlerts := False;
                            Sheet:=Excel.Workbooks[1].Worksheets[1];
                            Excel.Visible:=TRUE;
(...)
                                wiersz_num:=3;
                                Selection:=Sheet.Range['A'+IntToStr(wiersz_num)+':J'+IntToStr(wiersz_num)];
                                Selection.Borders.Weight := xlThin;
                                Selection:=Sheet.Range['A'+IntToStr(wiersz_num)+':A'+IntToStr(wiersz_num)];
                                NumberFormat:='General';
                                Selection.NumberFormat:=NumberFormat;
                                Selection:=Sheet.Range['B'+IntToStr(wiersz_num)+':B'+IntToStr(wiersz_num)];
                                NumberFormat:='@';
                                Selection.NumberFormat:=NumberFormat;
                                Selection:=Sheet.Range['C'+IntToStr(wiersz_num)+':J'+IntToStr(wiersz_num)];

Kombinowałem z Excel.Range, teraz jest Sheet.Range. Zadziałało jak zrobiłem '@' dla całego zakresu, ale wtedy zamiast liczb i dat pojawiała się wartość 64 (kod ASCII znaku: '@')

Zaczynam się kręcić w kółko, bo na googlach nie potrafię znaleźć konkretnego rozwiązania, a wszystkie moje pomysły nie działają.

Spotkaliście się z czymś takim ?

P.S. Aha - używam Excel 2010.

0

zajrzyj do tego liku
https://forum.openoffice.org/en/forum/viewtopic.php?f=21&p=289062
i szukaj pokrewnych tematów na rosyjskich forach

0

Bardzo dzięki za tego linka. Nie wiedziałem, że OpenOffice i LibreOffice też mają swoje metody automatyzacji. To diametralnie zmienia postać rzeczy.

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