PDA

Vollständige Version anzeigen : Aktualisieren von Feldern in Word aus Access


dehanie
09.05.2011, 13:39
Hallo,

ich habe in Access 07 ein Makro erstellt, das aufgrund einer definierten Vorlage ein neues Word Dokument erstellt und benutzerdefinierte Eigenschaften mit Daten befüllt. Im Kopf der Vorlage habe ich Felder erstellt die diese Eigenschaften referenzieren (ich habe mehrere Abschnitte mit unterschiedlichen Kopfzeilen wegen Wechsel von hoch zu quer und zurück, die aber mit den gleichen Daten befüllt werden sollen). Das Problem ist, die Felder werden nicht automatisch aktualisiert (außer man verwendet den Druckbefehl). Jetzt wollte ich (mit dem in Word selbst funktionierenden Code) diese Aktualisierung aus Access heraus erledigen. Leider funktioniert der Selection nicht (siehe Code Beispiel). Die Word 2007 Bibliothek habe ich eingebunden. Ich erhalte an dieser Stelle den Laufzeitfehler 438: "Objekt unterstützt diese Eigenschaft oder Methode nicht". Ich habe aber keinen vergleichbaren Befehl gefunden, der alle Kopfzeilen markiert um anschließend die Felder zu aktualisieren.

Vielen Dank im Vorraus



Dim WordAppl As Word.Application
Dim objWord As Word.Document
Dim strVorlage As String

strVorlage = "meinPfad/MeineVorlage.dotx"
Set WordAppl = New Word.Application
Set objWord = WordAppl.Documents.Add(strVorlage)

WordAppl.Visible = True

With objWord

If .ActiveWindow.View.SplitSpecial <> wdPaneNone Then
.ActiveWindow.Panes(2).Close
End If

If .ActiveWindow.ActivePane.View.Type = wdNormalView Or .ActiveWindow.ActivePane.View.Type = wdOutlineView Then
.ActiveWindow.ActivePane.View.Type = wdPrintView
End If

.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
.Selection.WholeStory
.Selection.Fields.Update

End With

Morli
10.05.2011, 14:11
Hallo Dehanie,

was ist wenn du vor das .Selection noch ein .ActiveWindow setzt?

Morli

dehanie
11.05.2011, 10:32
Hallo Morli,

ja, wie wäre es - dann würde nämlich das Ganze so funktionieren wie es soll :-). So einfach kann die Welt manchmal sein.

Tausend Dank

dehanie