Variabelen in een document bewerken

Status
Niet open voor verdere reacties.

RDriehuis

Gebruiker
Lid geworden
22 jul 2009
Berichten
5
Na 7 jaar geen VBA gedaan te hebben nu maar weer eens bezig om m'n leven wat makkelijker te maken. Ik heb een set aandocumenten voorzien van variabelen om deze klant specifiek te kunnen maken. Het is mij gelukt om documentvariabelen aan te maken en deze te vullen vanuit een userform.

Nu wil ik vanuit een ander scherm 1 specifieke variabele kunnen wijzigen.
Nu gebruik ik de code "ActiveDocument.Variables("VAR1A") = UserForm1.TB1a.Text.
Hoe pas ik dit aan zodat de variabele VAR1A variabel wordt?


Ten tweede open ik elk document individueel met de volgende code
Documents.Open FileName:="Bijlage Activiteitenkalender.doc", _ ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
Application.Run MacroName:="Bev"
Application.Run MacroName:="KopVoettekst"
ActiveWindow.Close

Volgens mij moet het ook mogelijk zijn dat VBA elk document in dezelfde directory opent en aanpast. Weet iemand hier een oplossing voor.

Ik waardeer elke ondersteuning

Groet
Ronald
 
Nu gebruik ik de code "ActiveDocument.Variables("VAR1A") = UserForm1.TB1a.Text.
Hoe pas ik dit aan zodat de variabele VAR1A variabel wordt?
Dat is ie toch al ?

ActiveDocument.Variables("VAR1A") ="eerste tekst"
ActiveDocument.Variables("VAR1A") ="tweede tekst"
ActiveDocument.Variables("VAR1A") ="derde tekst"

In plaats van
Code:
Documents.Open FileName:="Bijlage Activiteitenkalender.doc", _ ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
Application.Run MacroName:="Bev"
Application.Run MacroName:="KopVoettekst"
ActiveWindow.Close

Code:
Sub tst()
  With Documents.Add ("Bijlage Activiteitenkalender.doc")
  ' hier de  code van Macro Bev
  ' hier de code van  Macro KopVoettekst
    .Close
  end with
End Sub
 
Toelichting

Ten eerste dank voor je reactie.

De VAR1A kan ik nu inderdaad een andere waarde toekennen en deze waarde wordt vervolgens in alle documenten die ik specifiek moet benoemen aangepast.
Dat doe ik overigens met in totaal 53 variabelen in 49 documenten.

Het probleem is echter dat ik achteraf via een invoerscherm 1 specifieke variabele wil kunnen wijzigen. Dat kan ik doen door bij alle variabelen te verifieren of ze gevuld zijn, maar het is mooier om de variabele uit een invoerveld te halen en die dat te wijzigen.

Bij het tweede deel van m'n vraag zie ik dat ik nog steeds de documenten bij naam moet noemen. Wanneer een documentnaam wordt aangepast werkt de code echter niet meer of een document wordt bij een update niet meegenomen. Ik zou graag zien dat alle documenten in dezelfde directory worden getdetecteerd en vervolgens worden geopend bijgewerkt en weer op geslagen. Het liefst zonder vraag om het opslaan nog eens te bevestigen.

Ik hoop hiermee m'n vraag te hebben verduidelijkt.
 
Het probleem is echter dat ik achteraf via een invoerscherm 1 specifieke variabele wil kunnen wijzigen. Dat kan ik doen door bij alle variabelen te verifieren of ze gevuld zijn, maar het is mooier om de variabele uit een invoerveld te halen en die dat te wijzigen.

Code:
Activedocument.variables("VAR230")=inputbox("nieuwe waarde van VAR230")


Voor het vinden van bestanden bestaan 3 methodes:

- application.filesearch (office <2007)
- dir
- Createobject("scripting.filesystemobject")
 
Laatst bewerkt:
Dank

Dank voor de reacties.
Met behulp van de info en nog wat naspeuren heb ik het opgelost.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan