Ik heb een groot aantal documenten voorzien van variabelen. Deze varaibelen worden gevuld vanuit een invoerlijst in Excel.
Ik heb in VBA nu code gegenereerd die de varaiabele gegevens vanit Excel ophaalt en invoegt in een document. Na de wijziging van de variabelen wordt er een update uitgevoerd zodat de wijzigingen ook zichtbaar worden.
Nu zijn er een aantal documenten die bestaan uit meerdere sectie. Het is opvallen dat met name de eerste koptekst van de 2e sectie niet wordt bijgewerkt. Ook dit is overigens niet consequent. Andere secties zowel eerder als later in het document gaan wel goed. Heeft iemand enig idee wat de oorzaak kan zijn. Ik heb al van alles in de code en het document geprobeerd.
Ik hoop dat er een expert is die me kan helpen.
Hieronder de code:
Sub Update_Alle()
Dim file
Dim path As String
Dim Sectie As Range
Dim Veld As Field
' het pad naar de submap
path = ActiveDocument.path + "\bestanden\"
file = Dir(path & "*.doc")
'openen van de invullijst
On Error Resume Next
Set xlsApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then 'Word isn't already running
Set xlsApp = CreateObject("Excel.Application")
End If
On Error GoTo 0
Set xlsDoc = xlsApp.Workbooks.Open(ActiveDocument.path & "\Invullijst Digitaal Beveiligingsplan.xls")
'voer het volgende uit voor alle bestanden in de submap
Do While file <> ""
Documents.Open FileName:=path & file
With ActiveDocument
'Geef de variabelen de waardes uit het formulier
.Variables("VAR0").Value = xlsDoc.Worksheets(1).Cells(3, 2).Value
.Variables("VAR1").Value = xlsDoc.Worksheets(1).Cells(4, 2).Value
'update de variabelen in alle secties/onderdelen van het document
For Each Sectie In ActiveDocument.StoryRanges
For Each Veld In Sectie.Fields
Veld.Update
Next Veld
Next Sectie
End With
'Opslaan en sluiten
ActiveDocument.Save
ActiveDocument.Close
' volgende bestand in de map
file = Dir()
Loop
xlsApp.Workbooks.Close
End Sub
Alvast bedankt
Ronald
Ik heb in VBA nu code gegenereerd die de varaiabele gegevens vanit Excel ophaalt en invoegt in een document. Na de wijziging van de variabelen wordt er een update uitgevoerd zodat de wijzigingen ook zichtbaar worden.
Nu zijn er een aantal documenten die bestaan uit meerdere sectie. Het is opvallen dat met name de eerste koptekst van de 2e sectie niet wordt bijgewerkt. Ook dit is overigens niet consequent. Andere secties zowel eerder als later in het document gaan wel goed. Heeft iemand enig idee wat de oorzaak kan zijn. Ik heb al van alles in de code en het document geprobeerd.
Ik hoop dat er een expert is die me kan helpen.
Hieronder de code:
Sub Update_Alle()
Dim file
Dim path As String
Dim Sectie As Range
Dim Veld As Field
' het pad naar de submap
path = ActiveDocument.path + "\bestanden\"
file = Dir(path & "*.doc")
'openen van de invullijst
On Error Resume Next
Set xlsApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then 'Word isn't already running
Set xlsApp = CreateObject("Excel.Application")
End If
On Error GoTo 0
Set xlsDoc = xlsApp.Workbooks.Open(ActiveDocument.path & "\Invullijst Digitaal Beveiligingsplan.xls")
'voer het volgende uit voor alle bestanden in de submap
Do While file <> ""
Documents.Open FileName:=path & file
With ActiveDocument
'Geef de variabelen de waardes uit het formulier
.Variables("VAR0").Value = xlsDoc.Worksheets(1).Cells(3, 2).Value
.Variables("VAR1").Value = xlsDoc.Worksheets(1).Cells(4, 2).Value
'update de variabelen in alle secties/onderdelen van het document
For Each Sectie In ActiveDocument.StoryRanges
For Each Veld In Sectie.Fields
Veld.Update
Next Veld
Next Sectie
End With
'Opslaan en sluiten
ActiveDocument.Save
ActiveDocument.Close
' volgende bestand in de map
file = Dir()
Loop
xlsApp.Workbooks.Close
End Sub
Alvast bedankt
Ronald