MirusMentis Skrevet 3. september 2007 Del Skrevet 3. september 2007 Sitter med et lite prosjekt til bruk på jobben.. Skal kunne lese csv filer som inneholder bruker info, for så legge verdien inn i variabler, og så sende dette til cmd. Har i grunn fått til det meste selv, men sliter med å lese flere linjer, det er kun verdier i den siste linjen min som blir lagt til i variablene. Jeg vil at den skal lese linje en, legge verdiene i de spesifikke variabler. Så lese neste linje, og legge disse verdiene i variabel[1] eller er det array jeg må bruke her? Option Explicit Dim fnavn As String Dim enavn As String Dim uname As String Dim memberof As String Dim ou As String Dim kommune As String Dim lscript As String Dim homefolder As String Private Sub Form_Load() Open App.Path & "\brukere.csv" For Input As #1 'åpner filen for lesing Do While Not EOF(1) 'sier seg selv.. looper til EOF = 1, altså vi har nådd enden av fila. Input #1, fnavn, enavn, uname, memberof, ou, kommune, lscript, homefolder 'leser csv, og legger verdier i variablene. 'setter variablenes innhold i textboksene txt_fnavn.Text = fnavn txt_enavn.Text = enavn txt_uname.Text = uname txt_memberof.Text = memberof txt_ou.Text = ou txt_kommune.Text = kommune txt_lscript.Text = lscript txt_homefolder.Text = homefolder Loop End Sub Lenke til kommentar
aadnk Skrevet 3. september 2007 Del Skrevet 3. september 2007 Du må nok benytte en Array (n-dimensjonal tabell av elementer), og dermed i samme slengen óg en UDT-struktur. ' "Hash"-struktur av verdierPrivate Type Record fnavn As String enavn As String uname As String memberof As String ou As String kommune As String lscript As String homefolder As String End Type ' Abstraksjon av innlastingsfunksjonen Private Function LoadData(Path As String) As Record() Dim Free As Long, Items() As Record, Index As Long, ItemCount As Long ' Startstørrelser Index = -1 ItemCount = 10 ReDim Items(ItemCount - 1) ' Hent ledig fil-id Free = FreeFile ' Åpne fil for tekstbasert innlesing Open Path For Input As #Free ' Fortsett til siste linje Do Until EOF(Free) ' Øk teller Index = Index + 1 ' Se om reallokering er nødvendig If Index > ItemCount - 1 Then ItemCount = ItemCount * 2 ReDim Preserve Items(ItemCount) End If ' Last inn element With Items(Index) Input #Free, .fnavn, .enavn, .uname, .memberof, .ou, _ .kommune, .lscript, .homefolder End With Loop ' Husk alltid å rydde opp Close #Free ' Returner "Trimed"-array If Index >= 0 Then ReDim Preserve Items(Index) LoadData = Items End If End Function Lenke til kommentar
MirusMentis Skrevet 6. september 2007 Forfatter Del Skrevet 6. september 2007 Takker for svar Fikk det til til slutt, men så var det hele bortkastet da dette ikke fungerte som forventet (lage en dsadd streng for hver linje og sende denne til cmd shell, slik at jeg kan opprette brukere på win2003 server utifra en csv fil..) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå