Ik ben een amateur VBA gerbuiker en heb voor mijn werk een formulier in elkaar gesleuteld waarin heel veel is geautomatiseerd.
Omdat in eerste instantie mijn document nog wel eens werd overschreven met een ingevuld formulier heb ik ook het opslaan geautomatiseerd.
Hierdoor krijgt het bestand na openen en invullen van twee userforms meteen een naam gebaseerd op info uit de userforms.
Wij werken met projecten en op het netwerk is voor ieder project een map aangemaakt waarvan de naam begint met een 9-cijferig projectnummer met daarna de projectnaam.
Nu zou ik graag willen dat het ingevulde formulier wordt opgeslagen in de juiste projectmap.
Is er een manier waarop de juiste map kan worden geselecteerd op basis van de eerste negen karakters (cijfers van het projectnummer)?
Het projectnummer wordt ingevuld in het tweede userform en is op te roepen met tekst1.Value
Het stukje code dat zorgt voor o.a. het opslaan met de juiste documentnaam staat hieronder;
Private Sub CommandButton2_Click()
st = Split("|projectnummer|projectnaam|opdrachtgever|projectcoordinator|aanvullend|datum2|datum3|datum4|datum5|datum6|datum7|rve|fase|", "|")
For j = 1 To 13
c0 = Me.Controls("tekst" & j).Value
ActiveDocument.Variables(st(j)) = IIf(c0 = "", " ", c0)
Next
UserForm2.Hide
UserForm1.Hide
With ActiveDocument
.Fields.Update
End With
Dim StrPath As String
StrPath = "P:\B&O\OHW\ORDERS B&O\~WVB formulieren\"
ActiveDocument.SaveAs FileName:=StrPath & tekst1.Value & " " & tekst2.Value & " " & Format(Now(), "YYYYMMDD")
End Sub
Omdat in eerste instantie mijn document nog wel eens werd overschreven met een ingevuld formulier heb ik ook het opslaan geautomatiseerd.
Hierdoor krijgt het bestand na openen en invullen van twee userforms meteen een naam gebaseerd op info uit de userforms.
Wij werken met projecten en op het netwerk is voor ieder project een map aangemaakt waarvan de naam begint met een 9-cijferig projectnummer met daarna de projectnaam.
Nu zou ik graag willen dat het ingevulde formulier wordt opgeslagen in de juiste projectmap.
Is er een manier waarop de juiste map kan worden geselecteerd op basis van de eerste negen karakters (cijfers van het projectnummer)?
Het projectnummer wordt ingevuld in het tweede userform en is op te roepen met tekst1.Value
Het stukje code dat zorgt voor o.a. het opslaan met de juiste documentnaam staat hieronder;
Private Sub CommandButton2_Click()
st = Split("|projectnummer|projectnaam|opdrachtgever|projectcoordinator|aanvullend|datum2|datum3|datum4|datum5|datum6|datum7|rve|fase|", "|")
For j = 1 To 13
c0 = Me.Controls("tekst" & j).Value
ActiveDocument.Variables(st(j)) = IIf(c0 = "", " ", c0)
Next
UserForm2.Hide
UserForm1.Hide
With ActiveDocument
.Fields.Update
End With
Dim StrPath As String
StrPath = "P:\B&O\OHW\ORDERS B&O\~WVB formulieren\"
ActiveDocument.SaveAs FileName:=StrPath & tekst1.Value & " " & tekst2.Value & " " & Format(Now(), "YYYYMMDD")
End Sub
Laatst bewerkt: