arnizzz Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 Hei jeg holder på å lage et skjema i Word. Har sett litt på dette med makroer og VBA. Men skjønner ikke så mye. Finner ikke noen bra sider på nettet heller. Kan litt PHP og C++ men det er bare svært basis. Det jeg har lyst å gjøre er at skjemaet i word er dynamisk på en måte. jeg tenker på at brukeren klikker på avkryssningsbokser (checkbox) og skjemaet endrer seg basert på om checkboxene er krysset av eller ikke. F.eks: checkbox1 [] checkbox2 [] checkbox3 [] Skjemadel 1: (Vises uansett) Skjemadel 2: (If checkbox1 == true) Skjemadel 3: (If checkbox2 == true) Skjemadel 4: (If checkbox3 == true) Hvordan kan jeg lage dette? Skal jeg lage en commandbutton under checkboxene og skrive skjemaet til word først når denne knappen er trykket på? jeg har litt problemer med å lese hvilken statusen checkboxene har. Noe syntaksgreier jeg ikke forstår. Noen bra guider på dette eller er det bare en liten kodesnutt? All hjelp mottas med et stort takk. Lenke til kommentar
aadnk Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 Dersom du lurer litt på den generelle syntaksen i Visual Basic, kan du jo alltids sjekke ut denne guiden. Det er neppe nødvendig å lese gjennom alt, særs ettersom den ikke er skrevet med VB i tankene, men den burde gi en aldri så liten innføring i syntaksen. Lenke til kommentar
arnizzz Skrevet 29. mars 2005 Forfatter Del Skrevet 29. mars 2005 Det var en meget nytting link. tusen takk skal du ha. Skulle gjerne ha laget ha laget noe funksjoner, men hvordan deklarer jeg dem? Slik ser jeg for meg at det blir slik: If CheckBox1.Value = True Then OpprettSkjemadel1 ElseIf SlettSkjemadel1 End If If CheckBox2.Value = True Then OpprettSkjemadel2 ElseIf SlettSkjemadel2 End If If CheckBox3.Value = True Then OpprettSkjemadel3 ElseIf SlettSkjemadel3 End If Er også usikker på hvordan funksjonene for Sletting skal se ut. Hvis brukeren ombestemmer seg ved valg av Sjekkboks. Blir så mye tull med hvilke skjemadeler som skal slettes osv. Tror kanskje det er bedre å lage en Resetknapp og bare opprette skjemaet på nytt? Er dette en god løsning eller bør jeg gjøre det helt annerledes? Lenke til kommentar
Jonas Skrevet 30. mars 2005 Del Skrevet 30. mars 2005 (endret) Private Sub OpprettSkjemadel1() 'her skriver du litt kode End Sub Slik skriver man subs du kaller fra checkboxene. Endret 30. mars 2005 av Jonas Lenke til kommentar
arnizzz Skrevet 30. mars 2005 Forfatter Del Skrevet 30. mars 2005 Flotte greier. Men jeg må mase litt mer. Hvordan får jeg til å opprette tekst fra checkboxene en spesiell plass i dokumentet. Nå skriver jeg bare over checkboxene med tekst. Må få flyttet teksten lengre ned. Lenke til kommentar
aadnk Skrevet 30. mars 2005 Del Skrevet 30. mars 2005 Til dette formålet hadde jeg utvilsomt benyttet såkalte side-seksjoner. Da kan du på en enkel og semantisk måte dele opp innholdet i dokumentet slik at du lettere kan gjemme og vise de rette elementene. Du legger inn seksjoner i et dokument ved å velge Insert - Break og Continuous. Seksjonene kan ses i Normal-modus som prikkete seperatorlinjer. Etter dette kan du la sjekkboksene som skal fjerne og vise enkelte seksjoner av dokumentet være i den første seksjonen (ovenfor den første linjen), samt skjemadel 1, ettersom den skal vises kontinuerlig. Dernest legger du inn følgende kode i VBA: Public Property Get SectionVisible(ByVal Index As Long) As Boolean ' Get the current value SectionVisible = Not ActiveDocument.Sections(Index).Range.Font.Hidden End Property Public Property Let SectionVisible(ByVal Index As Long, ByVal bValue As Boolean) ' Show or hide the section ActiveDocument.Sections(Index).Range.Font.Hidden = Not bValue End Property Nå kan du fjerne og vise seksjoner som du vil: Private Sub chkSection1_Click() ' Vis seksjonen dersom sjekkboksen er markert. Vi begynner med seksjon 2, idet den første seksjon er opptatt av sjekkboksene. SectionVisible(2) = chkSection1.Value End Sub Private Sub chkSection2_Click() SectionVisible(3) = chkSection2.Value End Sub Private Sub chkSection3_Click() SectionVisible(4) = chkSection3.Value End Sub Husk nå endelig å gi sjekkboksene riktig navn (chkSection1 osv.) ved å endre (Name)-egenskapen i Properties. Denne får du opp ved å høyreklikke på kontrollene i dokumentet. Seksjonert_skjema.doc Lenke til kommentar
arnizzz Skrevet 30. mars 2005 Forfatter Del Skrevet 30. mars 2005 Tusen takk! Fungerer helt optimalt. You made my day. Har strevd i hele dag, med å prøve å få min metode til å fungere. Det ble bare tull. Igjen, takk! Lenke til kommentar
arnizzz Skrevet 31. mars 2005 Forfatter Del Skrevet 31. mars 2005 Er det mulig å skjule andre ting enn tekst? Prøver å legge til noen bestillingskjema men de blir ikke skjult.. hmm. Lenke til kommentar
aadnk Skrevet 31. mars 2005 Del Skrevet 31. mars 2005 Du kan jo alltids legge bestillingskjemaet inn i en tekstboks, hvilket du eventuelt kan skjule ved å fjerne den omliggende linjen. Men dette fungerer dessverre ikke, av en eller annen grunn, i normal visningsmodus. Det funger dog ellers. 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å