Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

VBA Zapisanie listboxa do txt - Jak zapisać całą tablicę "listbox" do

karola0921 19 Dec 2016 09:23 801 11
  • #1
    karola0921
    Level 6  
    Witam wie ktoś może jak zapisać całą tablicę "listbox" do pliku tekstowego?

    Robię to w ten sposób...
    [code]
    Code: vbnet
    Log in, to see the code


    Problem w tym że tak zapisana lista wczytywana jest potem do excela do jednego wiersza a chciałabym żeby było wiele kolumn.

    Idealnie by było gdyby zapisać całą tablicę z podziałem na kolumny bez używania pętli. : D
  • Helpful post
    #2
    JRV
    VBA, Excel specialist
    Print #fileNo, lst.list(i, 0) & Chr(9) & lst.list(i, 1)
  • #3
    karola0921
    Level 6  
    Dziękuje działa tak jak chciałam.
    JRV wrote:
    Print #fileNo, lst.list(i, 0) & Chr(9) & lst.list(i, 1)


    Wiesz może jak wczytać tak zapisany plik tekstowy bezpośrednio do "listboxa"?
  • #4
    JRV
    VBA, Excel specialist
    karola0921 wrote:
    plik tekstowy bezpośrednio do "listboxa"

    To nie probowalem.
    Zrobil by kwerende do pliku, przypisal nazwe np. 'danelist'
    w RowSource wpisal =danelist
    Teoretycznie. Sprobuj.
  • #5
    karola0921
    Level 6  
    JRV wrote:
    karola0921 wrote:
    plik tekstowy bezpośrednio do "listboxa"

    To nie probowalem.
    Zrobil by kwerende do pliku, przypisal nazwe np. 'danelist'
    w RowSource wpisal =danelist
    Teoretycznie. Sprobuj.


    w autocadzie i gstarcadzie tak nie dam rady... ale jeszcze pokombinuje i dam znać.
  • #6
    JRV
    VBA, Excel specialist
    Nie wiem jakie jest objekty w autocadzie. Treba bylo w temacie slowo 'Autocad', byc moze ktos w tej dziedzinie ma wiedze
  • Helpful post
    #7
    Cor-Dell
    Level 9  
    miałem podobny problem z jedną z wersji autocada chyba 2007.
    Przekształciłem kod pod twój przykład.
    zaręczam że działa(sprawdzałem) ; D
    Ale u mnie przy 40 kolumnach i 200 wierszach wczytywanie zajmowało 4-5 sekund więc nie jest to satysfakcjonujące.
    Użyj tego jak nie będziesz miała innej opcji.

    W skrócie działa tak
    znajduje znaki pomiędzy chr(9) i wczytuje je kolejno do komórek listboxa. potem przechodzi do kolejnego wiersza.
    aha pisane na szybko więc możesz to jeszcze zoptymalizować, myślę o jakieś 30%.

    [code]
    Code: vbscript
    Log in, to see the code


    Jak uda mi się dowiedzieć jak to zrobić prościej to napiszę.
  • Helpful post
    #8
    JRV
    VBA, Excel specialist
    Albo tak:
    Code: vbscript
    Log in, to see the code
  • #9
    karola0921
    Level 6  
    ten kod JRV działa szybciej, tylko mózg mi już nie pracuje bo jak go używam to przy imporcie generuje mi puste wiersze na końcu.
  • Helpful post
    #10
    JRV
    VBA, Excel specialist
    ReDim itab(r-1, 0)

    ReDim Preserve itab(r-1, c)
  • Helpful post
    #11
    Cor-Dell
    Level 9  
    r = r - 1 po pierwszym wend

    a ok / na jedno wychodzi
  • #12
    karola0921
    Level 6  
    ; ) faktycznie\ jest już ok...wielkie dzięki.