Einfügen von Autotext (bzw. Quickpart) in Word (2013) auf Basis eines Booleschen Wertes aus Access (2013)

Einfügen von Autotext (bzw. Quickpart) in Word (2013) auf Basis eines Booleschen Wertes aus Access (2013)

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.

verwandte Informationen