FILLIN welke tekst toevoegt als deze ingevuld is

Status
Niet open voor verdere reacties.

Friends4U

Gebruiker
Lid geworden
23 nov 2022
Berichten
24
Hoi,

Ik zou graag een FILLIN maken die tekst toevoegt als deze ingevuld is.

{ IF "{ MERGEFIELD Serienummer? }" = "" "" ", serienummer: { MERGEFIELD Serienummer? \* MERGEFORMAT }" }{ FILLIN "Serienummer?" \o \* MERGEFORMAT }

Werkt helaas niet.


Iemand een idee?
 
Ja, het werkte ook niet.

Jouw code geeft me geen FILLIN popup maar geeft wel de tekst FILLIN. Als ik er wat quotes bij zet, dan krijg ik "Serienummer" zonder quotes, dus geen FILLIN popup.

{ IF "{ MERGEFIELD Serienummer? }" = "" "{ FILLIN "Serienummer" \o \* MERGEFORMAT }", "{ MERGEFIELD Serienummer? \* MERGEFORMAT }" }
 
En toçh doet-ie het bij mij. Kleine aanpassing erbij gemaakt, die ook de artikelnaam in het invulvenster zet, want je wilt natuurlijk wél weten voor wél artikel je een serienummer invult:
Code:
{ IF "{ MERGEFIELD "Serienummer" }" = "" { FILLIN {MERGEFIELD "Artikel"} "Serienummer: " \* MERGEFORMAT }", { MERGEFIELD "Serienummer" \* MERGEFORMAT }" }

En dat werkt dus echt :). Al vermoed ik dat je de velden op de verkeerde manier nest.
 
Nou, werkt echt niet hoor, ik zal een test bijsluiten maar ik kan er niet zoveel mis aan doen volgens mij.
 

Bijlagen

  • Test.docx
    49,4 KB · Weergaven: 14
... maar ik kan er niet zoveel mis aan doen volgens mij.
Toch wel :). Volgens mij heb je, zoals ik net ook al vermoedde, de code verkeerd gemaakt. Ik vermoed zelfs dat je hem helemaal hebt getypt. En dat kan dus niet. Velden moet je op de officiële manier maken, dus ofwel door met <Ctrl>+<F9> alle velden zelf in te typen (niet handig, maar werkt wel), ofwel door ze vanuit de keuzelijsten te plakken. Dat laatste werkt een stuk handiger. Ik heb de gevolgde stappen van de code (zie plaatje) ook in het document van jou uitgevoerd.

Samenvoegen.png

En ook dus in het document uitgelegd. Daar kun je de complete veldcode dus zo uit kopiëren.
 

Bijlagen

  • Test.docx
    62,5 KB · Weergaven: 11
Als ik die wil openen wil hij een ondersteunend document openen?? SQL -> Artikel.docx?
Maar goed, als ik de codes kopieer uit het document en in mijn document zet, dan werkt het nog steeds niet, ook niet als ik hem volledig overtyp.
Ik krijg MERGEFIELD als resultaat.

Overigens snap ik nog niet helemaal waar je naartoe gaat met Artikel (heb je zelf verzonnen).

Ik wil een document waarin ik een Item invul en (eventueel) een Serienummer van dat item.
Vul ik dat in, dan komt er te staan:

Item, serienummer: Serienummer

Vul ik geen serienummer in, dan moet er komen te staan:

Item

That's it :)


P.S. Dank voor je hulp!
 
Laatst bewerkt:
Maar goed, als ik de codes kopieer uit het document en in mijn document zet, dan werkt het nog steeds niet, ook niet als ik hem volledig overtyp.
Ik krijg MERGEFIELD als resultaat.
Dat mijn document niet werkt, is natuurlijk logisch: ik heb hem gekoppeld aan een ander datadocument dan jij. Dat bestand heb jij niet. Vermoedelijk heten mijn velden ook anders. Je zult uiteraard moeten koppelen met je eigen gegevensbestand en vermoedelijk ook even de veldnamen moeten aanpassen. En de code overtypen is, zoals ik in de vorige post al heb gezegd, volkomen fout! Ik heb in het Word document precies uitgelegd hoe je het moet doen. Dan zie je ook de juiste velden, en niet die van mij.

Overigens snap ik nog niet helemaal waar je naartoe gaat met Artikel (heb je zelf verzonnen).
Uiteraard; ik heb immers jouw gegevens bestand niet. Ik begin me af te vragen of je wel vaker met velden hebt gewerkt?
 
Jazeker, ik kan ook prima met FILLIN velden werken maar ik krijg mijn specifieke vraag niet voor elkaar.
Ik heb ook nergens aangegeven met een gegevensbestand te (willen) werken...

Sorry dat ik wellicht niet duidelijk bij mijn initiële vraag was. De enige tekst die ik (altijd) wil toevoegen als er een serienummer ingevuld is, is ", serienummer: " voor het serienummer. Hetgeen ik in Post #6 nogmaals heb geprobeerd duidelijk te maken.
 
Ik heb ook nergens aangegeven met een gegevensbestand te (willen) werken...
’t Is dat ik op een goede stoel zit, maar ik was er toch bijna afgerold…. Mergefield velden zijn per definitie gegevens die uit een ander bestand komen. Hoe denk je met een Mergefield anders data te kunnen ophalen? Vind je het gek dat ik er dus op voorhand van uit ben gegaan dat je een databestand gebruikt? Dan wordt het tijd dat je beschrijft wat je dan wél doet in het proces. Want ik kan er nu geen chocola meer van maken :).
 
Ik heb het volgens mij in post #6 goed geformuleerd. En nee, met mergefields heb ik niet eerder gewerkt.
 
Nou, helemaal snappen doe ik het nog steeds niet. Maar een poging: je hebt dus in een document twee ‘velden’ bedacht waarin je een (één?) item/artikel (zoek de verschillen :)) wilt invullen, en indien aanwezig: een serienummer.
Vraag 1: waarom een invulveld gebruiken? Voor ‘item’ is dat sowieso nutteloos, want die tekst komt er altijd te staan. Dus die typ je gewoon in op de plek waar je hem hebben wilt. Maar dat Fillin veld dat je wilt hebben is toch wel een beetje problematisch, want dat veld moet érgens staan in je document.
Dus vraag 2: waar komt dat veld dan te staan? Want je item staat nog nergens, dus dat Fillin veld staat op zeker niet op de juiste plaats.
Vraag 3: hoe had je dat Fillin veld willen triggeren/starten? Je kunt het pas laten ‘draaien’ als je het selecteert en op <F9> drukt. Best omslachtig.

Dus, samenvattend: als ik het allemaal goed begrijp nu, gaat het om een regel (ja toch, één regel) tekst met daarin in ieder geval een artikelnaam/omschrijving (die jij ‘item’ noemt, maar die je dus niet terugziet in de tekst) met daarachter, als je een serienummer weet, de tekst “, serienummer: ###”.

Mijn ‘oplossing’? vergeet deze vraag, en typ gewoon achter je item de komma, de tekst “serienummer: “ en het serienummer. Klaar. Waarom zou je zoiets simpels willen ‘automatiseren’? Je kunt jouw bedachte oplossing niet gebruiken voor foutafvanging, dus fout getypt blijft hoe dan ook fout getypt. En hoe vaak komt het voor in jouw document? Vooralsnog is de indruk: één keer.

Ben je toch wat lui aangelegd, en moet het korter? Definieer dan bijvoorbeeld een AutoCorrect waarde waarmee je de tekst ‘sn’ vervangt door de tekst ‘, “Serienummer: “ en je bent er ook. Hooguit een verkeerde spatie weghalen. Als je geen serienummer hebt, typ je ‘sn’ uiteraard niet :).

Andere oplossing, als je tóch een Fillin wilt gebruiken: zoals je hebt gemerkt, kun je in een Fillin: alvast tekst invullen. Een standaardwaarde, zeg maar. Wat let je om daar alvast de tekst “, Serienummer: ” in te vullen? Bij het draaien van het Fillin veld is die tekst geselecteerd, maar met —> (of in de tekst klikken) staat de cursor er achter, en vul je dan het nummer in. Met <Tab> of muis naar OK, en je bent klaar.

De mooiste (en veelzijdigste) oplossing? Maak een UserForm met twee tekstvakken waarin je de gevraagde informatie invoert. Bij het sluiten van het formulier controleert de code of Serienummer is ingevuld, en dan wordt dus de inhoud van de teksvak(ken) netjes op de aangegeven plek in het document gezet.

Wil je het tóch met een ‘dynamische’ Fillin oplossen? Dan zul je een stukje Veldcode moeten programmeren met een Set variabele die gevoed wordt door je Fillin, en die je met een If veld dan controleert. Klinkt inderdaad een beetje alsof je een punaise met een moker in gesmolten boter probeert te slaan :).
 
Ik maak een dotx bestand, voor de uitgifte van assets (items/artikelen).
Onze helpdesk dubbelklikt op het bestand (doen ze nu al) en krijgen een aantal vragen alvorens het word document (docx vanuit een dotx) opent met de daarin ingevulde velden.

Geen F9 nodig hoor :)
 
Onze helpdesk dubbelklikt op het bestand (doen ze nu al) en krijgen een aantal vragen alvorens het word document (docx vanuit een dotx) opent met de daarin ingevulde velden.
Mailmerge velden die je niet mailmerge, Fillin velden die niet met F9 getriggerd worden.... Ik snap er steeds minder van :). Nú wek je weer de indruk dat er een UserForm in de sjabloon zit (lees #11 nog maar eens na ;)). Dan is het allemaal toch bloedje simpel? Regel alles in het formulier. Veruit de makkelijkste optie.
 
Tja, wellicht een optie die jij niet kent dan.
Maar als je een dotx bestand maakt (kan hem hier helaas niet uploaden) en je zet daar een fillin veld in. Als je de dotx daarna dubbelklikt dan maakt hij een nieuw docx bestand en vraagt de fillin velden in te vullen alvorens het bestand verschijnt.
 
Er zijn, vermoed ik, geen opties in Word die ik niet ken :). Overigens was mijn antwoord niet helemaal correct, omdat je een dotx gebruikt, geen dotm. Er zit dus helemaal geen formulier in je sjabloon, maar jullie gebruiken FILLIN velden, en/of ASK velden. Wellicht nog een andere techniek. Hoe dan ook: daarmee kom je er dus niet als je variabele velden wilt gebruiken, met afhankelijke teksten.

Het klopt dat je, als je een nieuw document maakt op basis van een sjabloon, je eerst de invulvelden moet invullen. Dat is zeg maar de 'automatische' klik op <F9> die bij het aanmaken van een sjabloon wordt uitgevoerd door Word. Basiskennis :). Wil je dat tijdens het bewerken van je document doen, dan moet je toch echt de velden selecteren en op <F9> drukken. Wil je e.e.a. dus toch dynamisch regelen, dan zul je naar het SET veld i.c.m. IF en REF velden moeten werken. En dan is het toch wat handiger als je de sjabloon ofwel post, ofwel opstuurt. Je kunt hem natuurlijk ook anonimiseren met behoud van de functionaliteit. Kan hopelijk niet te moeilijk zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan