11. december 2003 - 11:21
Der er
19 kommentarer og 1 løsning
VBA word: 2 kolonner i Listbox
Hej. Jeg har en listbox, hvori data fra en mappe skal hentes til. Kolonne1 indeholder Filtitler Kolonne2 indeholder Sidste red. dato Hvordan får jeg arrangeret disse data PÆNT i en listbox? Jeg har prøvet med tabulator, men da Filtitler kan variere i længde, svømmer dato kolonnen fra side til side, alt afhængig af Filtitel. nicolaus
Annonceindlæg fra Lenovo
11. december 2003 - 11:29
#1
En listbox har da ikke kolonner? Listview har kolonner, MSFlexgrid har kolonner. Dem kan du bruge
11. december 2003 - 11:32
#2
Jeg har ingen kolonner i listen nu. Men ønsker at skabe det. Hvordan bruger jeg i praksis det du foreslår?
11. december 2003 - 11:33
#3
En listbox har ikke kolonner! Så brug en anden kontrol, fx. en listview
11. december 2003 - 11:34
#4
Og ... hvad er en listview?
11. december 2003 - 11:37
#5
Sorry - det kan du godt. 2 sek
11. december 2003 - 11:38
#6
ListBox1.ColumnCount = 2 ListBox1.AddItem "Hej" & vbTab & "du der" ListBox1.AddItem "Går det" & vbTab & "godt"
11. december 2003 - 11:39
#7
"Og ... hvad er en listview?" Det er en anden kontrol - i stedet for en listbox. Men som du kan se kan listbox godt have kolonner - jeg tog fejl i starten :o)
11. december 2003 - 12:39
#8
Jeg kan ikke rigtig få det til at fungere. Jeg øger point til 40, så håber jeg du kan hjælpe mig. Jeg bruger følgende kode til at indsætte data fra mappen i lstfil: For Each f1 In fc If InStrRev(f1.Name, ".doc") Or InStrRev(f1.Name, ".DOC") Then sN = f1.Name sD = f1.DateLastModified Lstfil.AddItem sN & vbTab & sD End If Next
11. december 2003 - 12:40
#9
Sn afkortes på midten af listen og Sd vises ikke.
11. december 2003 - 13:22
#10
Så juster dine kollonnebredder, eller bredden på hele din listbox Et tip til forbedring af din kode: If lcase(right(f1.name,4)= ".doc" then I dit tilfælde vil følgende fil komme med: test.doc.xls (og det skal jo ikke med) men følgende vil ikke komme med: test.Doc (og den skal jo med) Prøv lige at test med Lstfil.AddItem "Hej" & vbTab & "du der" Bare for at se om det virker :o)
11. december 2003 - 13:31
#11
Resultatet er nøjagtig det samme som hvis jeg ikke kører Listbox med 2 kolonner (ColumnCount = 2). Filtitel Dato FiltitelXX Dato Filtitel Dato ...... Og tak for dine tips :-)
11. december 2003 - 13:35
#12
Hvis jeg nu skulle bruge Listview i stedet for. Hvordan ser koden så ud, når alle filer i en mappe skal tilføjes på samme måde. Altså: Filtitel Dato Filtitellllll Dato Filtitel Dato Filtitelllll..Dato Jeg kan forestille mig at der skal en "For-Next" til.
11. december 2003 - 13:37
#13
Hvis jeg laver en macro i word, med en userform med en listbox på, og bruger koden: ListBox1.ColumnCount = 2 ListBox1.AddItem "Hej" & vbTab & "du der" ListBox1.AddItem "Går det" & vbTab & "godt" Får jeg to kolonner! Har du en mailadresse, så kan jeg sende dig en test
11. december 2003 - 13:43
#14
ssc@familie.tele.dk
11. december 2003 - 13:44
#15
Jeg sætter listboxens property "ColumnCount" til 2. Det må være samme resultat som at gøre det runtime.
11. december 2003 - 13:45
#16
Hmm - nu kan jeg sgu ikke selv få det til at virke. Tror jeg giver op - jeg kan kun finde ud af det med listview...
11. december 2003 - 13:49
#17
Jamen så lad os tage det med Listview ...
11. december 2003 - 14:04
#18
Man kan jo ingenting med VBA i forhold til word. Listview skulel være så simpelt som beskrevet her: ListView1.ListItems.Add 1, , "Kolonne1" ListView1.ListItems(1).SubItems(1) = "Kolonne2" Det virker i VB6, men ikke i VBA Det eneste jeg kan få til at virke er en combobox, men der er også begrænsede muligheder i forhold til VB6. Øv. Men det må kunne lade sig gøre, der er en ide med at man kan sætte antal kolonner. Molbometoden er at bruge en monospaced font, og måle længden på de enkelte strings, og fylde spaces i dem der er for korte, så de alle er lige lange. Det kan jo føres med Format - funktionen ret let. Men siden det nu er filer du vil vise, kan du så ikke bruge en filelistbox med pattern sat til .doc? Nå nej - den fås jo kun til VB6 og ikak VBA. Sidste mulighed er at prøve med MSFlexGrid, og se om du kan få det til at virke - det kan du jo lige selv forsøge :o)
11. december 2003 - 15:16
#19
Tjaa. Jeg er gået tilbage til Listbox og Chr$(9) metoden. Så må jeg se med tiden, om der ikke dukker noget op. For din ulejlighed får du point alligevel. Tak for indsatsen. nicolaus
11. december 2003 - 15:29
#20
Alting er så let i VB - og så viser det sig, at i VBA kan kontrollerne kun det halve af hvad de kan i VB. Øv
Kurser inden for grundlæggende programmering