Automatisch wijzigen

Status
Niet open voor verdere reacties.

ikbenhetJesper

Gebruiker
Lid geworden
30 aug 2016
Berichten
5
Goedemiddag,

Ik ben bezig met een Word bestand wat wij voor meerdere klanten gebruiken. In dit bestand komt de o.a. de naam van klant en het adres meerdere keren voor. Is het mogelijk een soort pop-up menu te maken dat je in één keer alles kan aangeven wat er ingevuld moet worden in het word bestand voor een nieuwe klant. En je dus met een handeling de naam van de klant en adres op alle locaties kan wijzigen?

Ik hoop dat mijn vraag duidelijk is,

Ik werk met op een Mac met de laatste versie van Word.

Alvast bedankt voor je hulp.

Groeten, Jesper
 
Wat bedoel je precies met 'Popup'? Je kunt bijvoorbeeld een ASK veld maken (dat is een popup veld) waarin de naam van de klant gevraagd wordt en die vervolgens elders in het document plaatsen zoals je wilt, maar je krijgt dan voor elk gegeven een aparte popup. Dat lijkt mij niet heel gebruiksvriendelijk. Je kunt ook een formulier ontwerpen waarin je in verschillende velden wat invult en vervolgens met een druk op OK de gegevens in het document wegschrijft. Dat is al een stuk vriendelijker. Het eerste kan je doen zonder programmeren, het tweede niet.
 
In bijlage een vbtje waar je in excel gegevens invult en die via bladwijzers in een word template(dotx) worden geplaatst en opgeslagen als een word document (docx)
In hoeverre dit met mac werkt, daar heb ik geen zicht op.
Druk op de knop start, een invulformulier gaat open. Daar kan je gegevens invullen en naar word sturen.
Als je op een ander tabblad klikt worden de gegevens automatisch ingevuld. Zoiets kan je gebruiken om steeds terugkerende stukken automatisch in te vullen.
Misschien heb je er iets aan?
 

Bijlagen

  • excel naar word.zip
    32,8 KB · Weergaven: 27
Waarom wil je dat TS met een apart Excel bestand gaat werken? Hij wil toch alleen een Word document invullen?
 
@ octa, het is gewoon een persoonlijke voorkeur, ik vind het gemakkelijk om daar terugkerende stukjes tekst bij te houden of aan te passen, of om eerst een paar berekeningen uit te voeren en de resultaten in word te plaatsen.
Maar zoals ik al zei, het is puur mijn eigen voorkeur.
 
Persoonlijke voorkeur of niet, het lijkt mij handiger als je de vraag van TS beantwoord :). Zoals met dit document. En gebruik van Bladwijzers is natuurlijk ook een beetje achterhaald ;)
 

Bijlagen

  • brief.zip
    21,7 KB · Weergaven: 25
@Octa, van jouw 2 oplossing heeft de 2e mijn voorkeur, alleen als ik het goed begrijp heb je daar een extra programma voor nodig?

@Philiep, bedankt voor jou reactie, alleen ik denk dat mijn collega's niet vrolijk worden van een apart excel bestand.
 
Persoonlijke voorkeur of niet, het lijkt mij handiger als je de vraag van TS beantwoord :). Zoals met dit document. En gebruik van Bladwijzers is natuurlijk ook een beetje achterhaald ;)


Dit is inderdaad wat ik zoek, is dat ingewikkeld en welk programma heb je daarvoor nodig?
 
Laatste vraag: Word :). Simpel dus.

Eerste vraag: Kwestie van een formulier maken (Druk op <ALt>+<F11> om het VBA venster te openen) en daar velden op maken. In de Eigenschappen van dat venster vind je een property die TAG heet. Daar heb ik de naam van de DocVariable in gezet die bij het tekstveld op het formulier hoort.
In het document vind je velden die je kunt invoegen vanuit <Invoegen>, <Snelonderdelen>, <Veld>. Het veld heet DocVariable en je doet bij het invoegen niet meer dan een naam vastleggen. De DocVars zet je op de plek waar je ze wilt hebben, dus ik heb er een paar in het document neergezet. Als je <ALt>+<F9> drukt, kun je ze zien staan met hun code.
Dan ben je er dus nog niet, want je moet ze ook nog vullen vanuit het formulier. Dat doe je dus met de code die onder de knop <Opslaan> zit. Wat die code doet is eigenlijk simpel, al ziet het er wat ingewikkeld uit als je nog nooit geprogrammeerd hebt.

Code:
Dim oVars As Variables, aVar As Variable

Code:
Private Sub CommandButton2_Click()
Dim docVar As Variable
Dim i As Integer
    Set oVars = ActiveDocument.Variables
    For i = 1 To 5
         oVars(Me("TextBox" & i).Tag).Value = Me("TextBox" & i).Value
    Next i
    ActiveDocument.Fields.Update
    Unload Me
End Sub

Ik heb een variabele gemaakt met de naam oVars, en deze toegewezen aan alle docVars die ik in het document heb gezet. Vervolgens loop ik met een lus (1 to 5) door alle tekstvakken in het formulier, lees daar de TAG eigenschap uit (daar staat namelijk de naam van de DocVar in) en gebruik die tag om de waarde uit het tekstveld in de DocVar te zetten. En veel meer is het eigenlijk niet; ik heb het in 5 minuten in elkaar gezet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan