Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programowanie w VBA Excel

02 Lut 2015 13:38 1545 7
  • Poziom 22  
    Nie chodzi mi o napisanie konkretnego programu, ale o sam sposób pisania. Może być na przykladzie przetwarzania plików tekstowych. Plik wejściowy ma zostać przekształcony w plik wyjściowy. Oba są tekstowe z polami rozdzielanymi separatorem (jakis znak), bez problemu można wczytać do Excela. Czy to dobry pomysł? Sposób przekształcenia nie jest prostym mapowaniem pól, mapowanie może załatwić jakieś 40-50%. Bardzo proszę o wszelkie wskazówki, jakie mechanizmy zalecacie wykorzystać, jakie struktury danych i w jakim celu.
    Jak pisałem nie chodzi mi o konkretny program, jakiś działający program potrafię napisać, ale zależy mi na bardzo ogólnych zaleceniach co do sposobu jego pisania. Co robić, czego nie robić, co jest dobre a co złe, ale tak na wyższym poziomie abstrakcji. Takie rady pojawiają się pojedynczo w różnych miejscach, ale nie widziałem wielu w jednym miejscu.
  • Poziom 40  
    Na takim poziomie abstrakcji pytania - chyba ciężko udzielić jakichkolwiek rad... Czego konkretnie potrzebujesz?
  • Poziom 38  
    Najważniejsze jest, czy plik wejściowy (pliki) mają tę sama stukturę oraz czy plik wyjściowy ma stałą strukturę. Jeśli tak, to algorytm jest stały.
  • Poziom 22  
    Struktura jest podobna, ale nie taka sama. Można założyć, że przekodowuje się wiersz na wiersz. Wiersze są różnej długości, zawierają dane z pliku wejściowego, przekodowane dane z pliku wejściowego albo inne elementy, wygenerowane jakoś na potrzeby tego pliku.
    Jak pisałem, nie skupiajmy się na wymyślaniu rozwiązania, ale na wymyślaniu jak powinien być napisany program. Chodzi bardziej o ładnie napisany program, taki podręcznikowy przykład, na którym można się czegoś nauczyć (na początek ja chcę się nauczyć), który przy okazji coś tam będzie robił.
  • Poziom 22  
    Dzięki, napewno mi sie przyda jak go przeanalizuję do końca. Robiłem kiedyś coś podobnego, ale już nie pamiętam jak. Muszę porównać wady i zalety obu sposobów.
    Jest tu jedna ważna i dobra rada: warto wyłącznyć odświeżanie ekranu na czas działania makra: Application.ScreenUpdating = False. Oczywiście potem koniecznie to odkręcamy.
  • Poziom 13  
    Jeżeli zadanie jest powtarzalne, to lepiej jest do konwersji i podgladu danych wykorzystać Accessa. W większości przypadków odbywa się to bez pisania kodu.

    Access ma wiele kreatorów import/export, można tworzyć kwerendy, filtrować itp. poza tym ma dosyć intuicyjny system makr.

    Jeżeli ma to być typowy konwerter plik-plik, to można zamiast VBA w Excelu napisać to praktycznie w czymkolwiek: skrypty VBS, batch'e, regex itp.
  • Poziom 22  
    Excel ma w moim przypadku podstawową zeletę: mam go. :-) Jak pisałem problemem nie jest napisanie programu, ale porządne napisanie. Liczyłem na porady dotyczące stylu, może wykorzystania jakichś ciekawych algorytmów, najlepiej już istniejących w Excelu (zdaję sobie sprawę, że znam zaledwie kilka procent najpopularniejszych), może zastosowanie obiektów (tego akurat nie widzę, ale może inni widzą).
    Jednak widzę, że więcej dobrych rad nie będzie. Zamykam.