Svar Skrevet 16. april 2007 Del Skrevet 16. april 2007 Heisann Driver med et nytt prossjekt nå og trenger litt hjelp. Saken er den at i begynnelsen av programmet skal man velge/åpne en excel fil og de forskjellige cellene inne i excel filen skal brukes i forskjellige settinger inne i programmet. Planen er at det skal bli et program som kan hente bruker data fra excel fil og lage diverse AD kommandoer i windows 2003 server. Noen som har noen tips? Lenke til kommentar
wolf5 Skrevet 17. april 2007 Del Skrevet 17. april 2007 Legg til referanse til COM->Microsoft Excel X.X Object Library og begynn å kode. Trenger du å vite hvordan du koder i Excel så bruk Macro recording inni Excel til å finne ut av ting. Ellers er det masse av info på nettet om hvordan kode mot Excel fra VB. Google: vb excel Kan ikke svare stort mer når du ikke spør noe konkret. Lenke til kommentar
Manfred Skrevet 17. april 2007 Del Skrevet 17. april 2007 Hvorfor i all verden skal settingene ligge i et Excel-dokument, av alle ting?? Lenke til kommentar
wolf5 Skrevet 17. april 2007 Del Skrevet 17. april 2007 Du har ikke jobbet i bedrift du? Mange ansatte har lite IT kunnskap og mange sverger til Excel til å løse absolutt alt. Så når noen kommer med krav på hva de ønsker, så pleier de å få det. De ønsker gjerne å vedlikeholde noe i Excel for "det er så enkelt". Sånn er det bare. Lenke til kommentar
Moskus Skrevet 17. april 2007 Del Skrevet 17. april 2007 Joda, Excel er et genialt program! Men i akkurat Svar sitt tilfelle, ville vel tekstfiler eller XML-filer være enklere å ha med å gjøre. Til og med for kunden... Lenke til kommentar
wolf5 Skrevet 17. april 2007 Del Skrevet 17. april 2007 For å kverrulere: Pluss med Excel. GUI er allerede klar. Minus med tekst + XML. Noen må sikkert lage en liten frontend GUI på den mtp vedlikehold (ihvertfall om det skal foregå mye vedlikehold der data hentes fra andre større lister). Lime inn en bruker liste fra her, lime inn en annen liste fra der, samle det sammen i en konfig. Lenke til kommentar
Manfred Skrevet 17. april 2007 Del Skrevet 17. april 2007 Det jeg tenkte også. En liten XML. Så kan man lage et lite "settings-program" som de kan endre i, dersom de må ha et enkelt grensesnitt. Tar en halv time å lage noe slikt, liksom. Lenke til kommentar
Svar Skrevet 17. april 2007 Forfatter Del Skrevet 17. april 2007 Poenget med excel er at det er enkelt å sette opp forskjellige brukere med navn/etternavn/epost/osv osv i kollonner og rader i excel. XML har jeg ikke vært borti så det blir litt for innviklet pr nå. Jeg har sett et VBS script som gjør akuratt det jeg er ute etter, der blir amn presentert med en boks som man skriver inn banen til excel filen, så gjør scriptet resten. Excel filen må da være laget på en bestemt måte. Problemet her er at jeg ikke skjønte noe av koden og jeg vil ha dette inn i et VB05 programm for senere kunne intigrere dette i et annet programm jeg laget i fjord. Lenke til kommentar
Moskus Skrevet 17. april 2007 Del Skrevet 17. april 2007 Prøv dette: 'Setter CultureInfo slik at Excel og programmet er enige Dim oldCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US") Dim filename as String = "C:\Test.xls" 'Lager objekter for Excel, arbeidsbook og selve arket Dim xl As Object Dim book As Object Dim sheet As Object 'Bruker eksisterende Excel hvis det kjører, eller starter hvis ikke Try xl = GetObject(Nothing, "Excel.Application") Catch xl = CreateObject("Excel.Application") End Try 'Skjuler Excel, så slipper brukeren se at Excel plutselig popper opp. En god ide å vise ved debugging... xl.Visible = False 'Åpner selve Excel-filen book = xl.Workbooks.Open(filename) 'Velger et regneark sheet = book.Sheets("Sheet1") 'eller book.Sheets(1) om du vil sheet.Activate() 'Henter ut en verdi Dim sngUthentetVerdi as Single = sheet.Cells(1, 1).Value 'Dette kan seff kjøres i en løkke. :) 'Avslutter book.Close() xl.Quit() sheet = Nothing book = Nothing xl = Nothing System.Threading.Thread.CurrentThread.CurrentCulture = oldCI Lenke til kommentar
Svar Skrevet 18. april 2007 Forfatter Del Skrevet 18. april 2007 Prøvde det, men siden jeg bruker norsk excel så oversatte jeg sheets til ark og book til bok. Men uansett så stopper den ved: 'Velger et regneark sheet = book.Sheets("Sheet1") 'eller book.Sheets(1) om du vil Jeg har en test fil liggende på C:\ også. Lenke til kommentar
Moskus Skrevet 18. april 2007 Del Skrevet 18. april 2007 (endret) "Sheet1" er navnet på selve arket og må matche det (eller et av dem) som er i arbeidsboka. Evt kan du bruke bare nummer (som det står i kommentaren). Hva du kaller objektene diner har (book eller bok) har absolutt ingenting å si. Endret 18. april 2007 av moskus Lenke til kommentar
Svar Skrevet 20. april 2007 Forfatter Del Skrevet 20. april 2007 Nå begynner det å ligne på noe her Nå har jeg fått til at programmet henter ut info fra celler i excel og også at jeg kan bruke programmet til å skrive inn i celler i excel ganske coolt. Det jeg trenger nå er en løkke som gjør at når første linje i excel arket er hentet ut (fornavn, etternavn, epost osv osv i hver sine celler) så hopper den til neste rad og fortsetter helt til det ikke er flere rader igjen det står noe i. si eks at infoen om en bruker står i A1,A2,A3,A4,A5 og neste står i B1,B2,B3,B4,B5 så skal den hoppe ned og fortsette på B når den er ferdig med A Lenke til kommentar
Manfred Skrevet 20. april 2007 Del Skrevet 20. april 2007 jeg mener du kunne lært deg XML-håndtering på den tiden du har styret med dette, men.... Lenke til kommentar
Moskus Skrevet 24. april 2007 Del Skrevet 24. april 2007 Det jeg trenger nå er en løkke som gjør at når første linje i excel arket er hentet ut (fornavn, etternavn, epost osv osv i hver sine celler) så hopper den til neste rad og fortsetter helt til det ikke er flere rader igjen det står noe i. si eks at infoen om en bruker står i A1,A2,A3,A4,A5 og neste står i B1,B2,B3,B4,B5 så skal den hoppe ned og fortsette på B når den er ferdig med A 8427965[/snapback] Det der burde du nesten være i stand til å skrive selv, når du har kommet såpass langt... Men uansett, kjapt gjort kan det jo gjøres slik: Dim navn(10,1) as String 'Celler A1 til A10 inneholder fornavn 'Celler B1 til B10 inneholder etternavn For i as integer = 1 to 10 'Cells fungerer slik: Cells(radnummer, kolonnenummer). Husk å legg til ".Value" bak navn(i,0) = sheet.Cells(i, 1).Value navn(i,1) = sheet.Cells(i, 2).Value Next Det finnes maaange måter å bygge opp den for-løkken på. Velg den som er mest hensiktsmessig... 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å