de positie van een besturingselement vast zetten, binnen een tekstvak

Status
Niet open voor verdere reacties.

IngeJ

Gebruiker
Lid geworden
23 jun 2016
Berichten
72
Hallo Word-wizzards,

Ik probeer voor een stichting een eenvoudige cv-generator te bouwen met samenvoegvelden en besturingselementen. Ik heb tot nu toe gewerkt met tekstvakken om de diverse velden op de juiste plaats te krijgen en te houden. Nu heb ik binnen zo'n tekstvak een keuzelijst gemaakt (om jaartallen te kiezen) en ik wil dat deze op de positie blijven staan waar ik ze heb gezet, maar dat lukt me maar niet. Het is nu zo dat zodra je begint te typen in bijvoorbeeld het invoerveld "opleiding" de keuzelijst gelijk van positie veranderd. Hoe kan ik dat vastzetten???

Bijgaand het bestand. Ik werk met Word 2016

Alvast bedankt voor het meedenken mensen!

Groetjes
Inge

Bekijk bijlage CV generator.docx
 
Laatst bewerkt:
Een tekstverwerker is natuurlijk helemaal niet bedoeld voor het soort formulier dat jij aan het maken bent, ook al wil dat niet zeggen dat het niet zou (moeten) kunnen. Op dezelfde manier als dat soep eten ook best met een vork kan :). Maar goed, je moet dus in het achterhoofd houden dat alles wat je doet in essentie pure tekst is. En dat ActiveX objecten, of ContentControls, dus niks anders zijn dan flexibele containers waar je tekst in zet. En tekst, zal je niet verbazen, neemt plaats in beslag. Dus als je CC's achter elkaar in een document plaatst, dan bepaalt de voorbeeldtekst grotendeels de hoeveelheid ruimte die in beslag wordt genomen. Dat principe geldt voor gewone tekst, en ook voor controls.

De techniek die je kunt gebruiken om tekst altijd op dezelfde plaats te krijgen, is net zo oud als de typemachine, en dus ook de tekstverwerker: de Tab! Zet dus tabs in het tekstvak, en lijn de controls uit op de tabs. That's it! Je kunt wellicht ook nog een tabel gebruiken, dat werkt ongeveer op dezelfde manier. Overigens krijg je sowieso ook problemen als mensen teveel tekst in zo'n tekstvak zetten, want dan schuift alles uiteindelijk ook voorbij de tabstops, en ben je (nog) verder van huis.

Zelf zou ik het dus helemaal anders doen, met een invulformulier waarin je de velden afvraagt. In het document zet je dan, ik zou een tabel gebruiken, m.b.v. DocVariables de gegevens uit het formulier in het document.

P.s. Hoe kom je aan een foto van mijn kat? :D
 
Haai Octafish,
Bedankt voor je snelle reactie. Ik was er al een beetje bang voor dat Word niet echt het goede programma is hiervoor. Het probleem is dat het ook nog te gebruiken moet zijn door mensen met weinig Office vaardigheden en dat het dus ook "foolproof" moet zijn. Ik heb al wel ervaring met het maken van formulieren in Excel maar nog niet in Word. Kortom ik denk dat ik het maar ga proberen op de manier zoals jij het zou doen.
Wordt het dan een kwestie van VBA ? De term Doc.Variables zegt mij niets namelijk.

Btw, sorry dat ik de foto van je kat uit je pc heb gepikt haha
 
In beschouwing genomen dat het eindproduct super gebruiksvriendelijk, toegankelijk en foolproof moet zijn, hoe zou jij het dan aanpakken Octafish (en andere wizzards)? Ik sta open voor alle suggesties. Heb zelf al meerdere opties overwogen maar kom er niet nog niet uit wat de beste benadering zou zijn.
 
Een Docvariable is een Word veld, dat je dus op de gewone manier in je document kan invoeren. Die velden zet je dus in je document op alle plekken waar je ze nodig hebt. In jouw cv komt dat er op neer dat je alle CC objecten vervangt door een Docvariable met een overeenkomende naam.
Op een formulier kun je met tekstvakken, keuzelijsten etc. een gebruikersinterface maken (die ook vele malen makkelijker te programmeren en uit te lezen is dan een gewoon document zoals je nu hebt trouwens) die je koppelt aan een veldnaam. Vervolgens kun je die uitlezen of vullen met ActiveDocument.Variables.
Wat ik zelf dan doe, is de naam van de DocVariable in de TAG eigenschap van het object (tekstvak, keuzelijst etc) zetten, en bij de Opslaan knop lees ik dan alle ingevulde objecten uit en zet de inhoud in de overeenkomende Docvariable. En omgekeerd: als je het formulier opent, lees je de content uit alle Docvariables weer terug in je formulier.
De gebruiker doet dus verder helemaal niets in het document zelf, maar alles via het formulier.
 
Ik heb nog een voorbeeldje gevonden uit een ander draadje dat gedeeltelijk werkt; de werkende versie heb ik thuis nog wel ergens staan. Maar je kunt al wel zien hoe je keuzelijsten etc. kunt inlezen en wegschrijven.
 

Bijlagen

  • Formulier aanmelding.zip
    39,8 KB · Weergaven: 63
Haai Octafish,

Super bedankt voor je info en het bestandje. Het lijkt me heel gaaf! Dinsdag werk ik weer voor de stichting en ga ik er gelijk mee aan de slag! Is voor mij een nieuwe uitdaging en daar houd ik wel van

Groetjes
Inge
 
Beste Octafish,

Heb inmiddels naar het voorbeeld gekeken, maar dat ziet er voor mij (als vba-beginner zonder enige opleiding) nog best ingewikkeld uit. Ik ga er wel mee aan de gang, want ik hou wel van een uitdaging.
Moet ik de vraag nu wel op "opgelost" zetten en zo ja, kan ik jou er dan eventueel nog over benaderen als ik er niet uit kom?

Groet,
Inge
 
Ik zou de vraag nog even open houden, dan kan je eventuele volgende vragen hier kwijt. En kom je er niet uit, post dan jouw document er bij, dan weten we waar je mee bezig bent.
 
Octafish,

Ik ben nog steeds aan het studeren op jouw voorbeeldbestand en hoe ik eea kan toepassen voor mijn "cv-generator". Op de een of andere manier lukt het mij nog niet om de vertaalslag te maken naar mijn document. Ik heb inmiddels gevonden hoe ik doc.variables in kan voeren en ik weet hoe ik een invulformulier kan bouwen in vba, maar de programmacode achter het formulier is (nog) een stap te hoog voor mij blijkbaar :confused: .....
Ik kreeg van de week een mail van Helpmij dat de vraag nog op onopgelost staat. Dus ik zet de vraag maar op opgelost zodat anderen er geen last van hebben verder. En ondertussen blijf ik oefenen en proberen, net zo lang tot het me lukt :)

Groetjes
Inge
 
Maak anders een nieuwe vraag aan, en zet het voorlopige resultaat daar in. Dan kunnen we zien waar je vastloopt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan