Hallo zusammen,
hab wieder eine Frage.
Ich schreibe mit folgendem Code (der in Access 2010 steht) Text vom Textfeld aus Access in ein Textformularfeld in Word (2010)
If oApp.ActiveDocument.Bookmarks.Exists("Datum") Then
oApp.ActiveDocument.FormFields("Datum").Result = Me!txtDatum
End If
Weiters habe ich im Worddokument Felder die auf diese Textformularfelder zugreifen. Man muss natürlich nachdem man den Text in die Textformularfelder geschrieben hat, alle Felder aktualisieren.
Ich habe Felder in folgenden Bereichen:
-Hauptbereich
-Kopfzeile
-Fußzeile
-Textfeld in Fußzeile
Darum folgender Code:
Sub Aktualisieren()
Dim rngDoc As Range
Dim oDoc As Document
Dim docSec As Section
Dim oHF As HeaderFooter
Dim shp As Shape
Set oDoc = ActiveDocument
For Each docSec In oDoc.Sections
For Each oHF In docSec.Headers
For Each shp In oHF.Shapes
With shp.TextFrame
If .HasText Then
.TextRange.Fields.Update
End If
End With
Next shp
Next oHF
For Each oHF In docSec.Footers
For Each shp In oHF.Shapes
With shp.TextFrame
If .HasText Then
.TextRange.Fields.Update
End If
End With
Next shp
Next oHF
For Each rngDoc In oDoc.StoryRanges
rngDoc.Fields.Update
While Not (rngDoc.NextStoryRange Is Nothing)
Set rngDoc = rngDoc.NextStoryRange
rngDoc.Fields.Update
Wend
Next rngDoc
Next docSec
Set rngDoc = Nothing
Set oDoc = Nothing
End Sub
(Obriger Code funktioniet nur in einem Word-Modul)
Mit diesem Code werden alle Felder aktualisiert, also auch die Textformularfelder (dh.Es Steht dann wieder der Standardtext drinnen und nicht der Text den ich von Access übernommen habe).
Folgedessen steht dann in allen Feldern der Standardtext der Textformularfeldern drinnen.
Meine Frage:
Wie kann ich beim Aktualisierungsvorgang die Textformularfelder ausschließen?
In weiterer Folge möchte ich den zweiten Code später auch über das Access-VBA ausführen. Welche Änderungen muss ich dann vornehmen?
mfg MPunkt