18. december 2002 - 12:27Der er
13 kommentarer og 2 løsninger
VB Newbie - skabelon til word
Jeg sidder og er ved at oprette en Skabelon til word, hvor den skal komme frem med et vindue hvor man kan taste navn, adresse osv... jeg er nået så langt som til at have "designet" formen, altså vinduet med labels, tekst felter og en ok og cancel knap, men så kan jeg heller ikke mere. Så mit spørgsmål er hvordan går jeg den til at fungere så den kommer frem når man vælger den skabelon som jeg er ved at lave og hvordan får man den til at sætte den tekst brugeren skriver i tekst felte over i word og hvordan får jeg knapperne til at virke ?
(og ja jeg ved jeg burde gå ud og købe mig en VB for dummies eller noget.... )
Princippet er at oprette nogle bogmærker i word-skabelonen. Disse bogmærker kan så ændres fra dit "vindue" (som jeg kalder en userform :-)
Altså:
klik på det sted i dokumentet, hvor du vil indsætte et bogmærke. Klik på Bogmærke i menuen Indsæt. Skriv eller vælg et navn under Bogmærkenavn, vælg f.eks. "Fornavn". Klik på Tilføj.
Herefter kan du lave en userform der ændrer indholdet af bogmærket:
Det kræver naturligvis, at der er en textbox på din userform med navnet TextBox1... Koden ovenfor indsætter det brugeren har skrevet i textboxen i dit bookmark.
Ok,det med macroerne løste sig. Men nu har jeg skrevet som du skrev, men der sker ikke rigtigt så meget, det er jo meningen at jeg skal skrive i den userform, navn, adresse osv. og så når jeg trykker på den ok knap jeg har lavet så skal den smide texten ind ved bogmærkerne ?
I dit skabelon projekt skal du i koden for ThisDocument lave subrutinen _____________________ Document_New() UserForm1.Show End Sub _____________________
Det kalder din Form frem (hvis den altså hedder UserForm1).
Koden som Martin gav dig skal stå i koden for Command1_Click
Nå, jeg skal altså bare stille spørgsmålene selv og prøve mig frem *g*
Så langt så godt, nu kan jeg få den til at smide det jeg skriver ind i dokumentet, så skal jeg bare lige have Cancel knappen til at virke og så lige forstå det der med userform1.hide
Når brugeren har trykket OK går jeg ud fra, at de indtastede data overføres til dokumentet, og at userformen så skal forsvinde. Eller måske vil du have en knap, der hedder "Luk dette vindue", og der indsætter du Userform1.hide - det er lige ud ad landevejen - der hvor du vil skjule (hide) din userform indsætter du koden "userform1.hide"
Den cancle knap - hvordan skal den virke? Hvis du vil have en cancle-knap, der sletter alt der blev sat ind i DOKUMENTET, da du trykkede OK, så kan du lave en sub, der er næsten magen til den for din OK-knap, blot med linier såsom:
Hvis du bare vil have en cancle-knap, der nulstiller hvad der er indtastet på FORMEN, er det jo bare at ændre teksten for alle dine tekstfelter til en tom streng, f.eks:
Jeg har dog et par små ting, når jeg skriver i den userform jeg har lavet og trykker tab der ned igennem springer den også fint videre til det næste felt, bortset fra det næst sidste felt, der springer den det sidste felt over og hopper ned til ok knappen.
Og så tænkte jeg på om man kan sætte "dodumentet" sådan at den overskriver når man begynder at skrive selve brevet, alstå ligesom hvis man har trykker på Insert. Jeg har nemlig lavet sådan at når man trykker ok, springer cursoren automatisk til et start bogmærke hvor man så kan begynde at skrive brevet, men den skal jo helt ikke rykke afsenderen ned på næste side når man begynder at skrive.
Hver kontrol på din form, der kan "klikkes på", har to egenskaber: Tabindex og Tabstop
Tabstop kan sættes tilTrue/false, og bestemmer, om fokus skal flyttes til denne kontrol, når du bruger Tab.
Tabindex angiver rækkefølgen på hvilke kontroller der får fokun, når du trykker tab.
Mht. "overskriv", er det en ret klam løsning efter min mening - hvad så når du skriver for meget - så overskriver du afsenderadressen. Du bør hellere sikre, at afsenderen ikke ryger ned på næste side på anden vis, det kan du jo gøre ved - for eksempel - at putte afsenderen i en textbox.
Herefter kan du højreklikke på tekstboksen og bestemme dens egenskaber
Du kan også lade være med at bruge en tekstbox, og sætte din "venlig hilsen" øverst på siden, så den rykker sig ned når du skriver noget Eller du kan oprette det hele dokumentet som en tabel med skjulte rammer, så alting altid står rigtigt i forhold til hinanden. Eller du kan bruge overskriv. Eller...
Brug den løsning du helst vil have - der er masser af muligheder, og det er smag og behag, hvad der er bedst.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.