![Einfügen von Autotext (bzw. Quickpart) in Word (2013) auf Basis eines Booleschen Wertes aus Access (2013)](https://rvso.com/image/1428724/Einf%C3%BCgen%20von%20Autotext%20(bzw.%20Quickpart)%20in%20Word%20(2013)%20auf%20Basis%20eines%20Booleschen%20Wertes%20aus%20Access%20(2013).png)
Ich habe im Internet nirgends Informationen hierzu gefunden (zumindest keine, die funktionieren – mehr dazu gleich).
Ich versuche, Word auf Knopfdruck, den ich in einem Access-Formular erstellt habe, dazu zu bringen, eine Docx-Datei zu öffnen und diese (an bestimmten Stellen) mit bestimmten RTF-Absätzen zu füllen, und zwar auf der Grundlage mehrerer WAHR/FALSCH-Kontrollkästchen im aktuell im Access-Formular geöffneten Datensatz.
Zugriffscode, der zum Übergeben von Werten in das Word-Dokument funktioniert:
Funktion OpenWord(conPath als String)
Appword als Word.Application dimmen
Dokument als Word.Dokument dimmen
Bei Fehler Fortsetzen Weiter
Fehler.Löschen
Setze appword = GetObject(, "word.application")
Wenn Err.Number <> 0 Dann
Setze appword = Neues Word.Application
appword.Sichtbar = True
Ende, wenn
Setze doc = appword.Documents.Open(conPath, , True)
Mit Dokument
.FormFields("TextName").Ergebnis = Ich.Name
.FormFields("TextAnotherName").Result = Ich.AnotherName
.FormFields("TextBoolean1").Ergebnis = Me.Boolean1
.FormFields("TextBoolean2").Ergebnis = Me.Boolean2
.FormFields("TextBoolean3").Ergebnis = Me.Boolean3
Ende mit
appword.ActiveWindow.View.Type = wdPrintView
appword.Sichtbar = True
appword.Aktivieren
Dokument festlegen = Nichts
Setze Appword = Nichts
Das Obige funktioniert hervorragend, um Namen über Entwickler > Legacy > Textformularfeld in das Word-Dokument zu übergeben. Die Booleschen Werte werden ebenfalls angezeigt (d. h.: -1 für WAHR und 0 für FALSCH). Was ich versuche, ist so etwas wie:
WENN {TextBoolean1} = "0" "{ AUTOTEXT someparagraph}" ""
Dieser Internetvorschlag funktioniert nicht.
Zusammenfassend: Was ist erforderlich, damit Word 2013 auf der Grundlage eines von Access übergebenen Booleschen Werts einen vordefinierten Absatz (einen Autotext- oder Schnellbaustein) an einer vordefinierten Stelle in einem Dokument einfügt? (Wie kann dies erreicht werden?)
Vielen Dank für Ihre freundliche Hilfe - ich habe eine Woche lang verschiedene erfolglose Wege ausprobiert,
Ratlos
Antwort1
Erstens glaube ich, dass Sie einen Großteil des Codes in Ihrem Makro vereinfachen könnten, indem Sie stattdessen die Seriendruckfunktion aus der Access-Datenbank verwenden und diese einfach per Makro einleiten.
Der Feldcode für Ihr WENN-Feld, wie er hier angezeigt wird, sollte funktionieren. Stellen Sie sicher, dass Sie den Code mit speziellen Feldklammern umgeben haben, indem Sie auf CTRL+ klicken F9, und nicht nur mit normalen Klammern.