Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Word 2003 und Dokumentenvariablen

Frage Microsoft Microsoft Office

Mitglied: 26831

26831 (Level 1)

07.12.2006 um 10:20 Uhr, 7003 Aufrufe

WENN-DANN-SONST per VBA, da Dokumentenvariablen nicht mehr verfügbar sind, wenn Sie in der WENN-DANN-SONST-Funktion von Serienbriefen enthalten sind.

Hallo zusammen,

(Die eigentliche Frage steht ganz unten)

Infos:
wir nutzen ACT 8 (Kontaktesoftware) und können aus ACT heraus z.B. einen Serienbrief erstellen. Das Wordformular öffnet sich auch und die angelegten Dokumentenvariablen klappen, aber ein Blick in Ansicht->Symbolleisten->Seriendruck bringt Verwunderung.
Dort sind alle Buttons bzgl. Seriendruck deaktiviert, außer "Datenbank anlegen"?!?!
OK...in der Menüleiste oben rechts habe ich einen weiteren Punkt "ACT" und dort gibt es auch den Punkt "Feldliste anzeigen". Es wird mir nun die Leiste angezeigt, wie man sie von der Seriendruckleiste (normalerweise) her kennt.

Ich wähle die Anrede aus und staune: Dort steht nun {DocVariable[ACTFIELD]TBL_CONTACT.SALUTATION}?!?!
Eigentlich bin ich mehr diese Form gewohnt: {MERGEFIELD "Anrede"}

Nun kommt die berühmte Wenn-Dann-Situation ala: {Wenn Anrede = Herr DANN "r Herr" " Frau"}
Das klappt aber nur mit diesen MERGEFIELDS, nicht aber mit diesen DocVariable-Feldern. Fehlermeldung: Objekt wurde gelöscht.

Meine nächste Idee war die Erstellung eines VBA-Scripts bei Document_New():

Code:
strAnrede = ActiveDocument.Variables("[ACTFIELD]TBL_CONTACT.SALUTATION")
if strAnrede = "Herr" than
strAnrede = "r Herr" + ActiveDocument.Variables("[ACTFIELD]TBL_CONTACT.FULLNAME")
und so weiterDie Meldung war dann zwar weg, aber mir wurde grundsätzlich der Eintrag von ELSE (Sehr geehrte Damen und Herren) zurückgeliefert.

Im Direktfenster vom VBA-Editor liefert mir ? ActiveDocument.Variables("[ACTFIELD]TBL_CONTACT.SALUTATION") ein zurück.

Klar...wenn da nicht Herr oder Frau drin steht sondern , dass das Script mit ELSE aussteigt.

Ich habe mein Script aus der ACT-Vorlage ausgeschnitten und in das von ACT neu erstellte Dokument wieder eingefügt und das Dokument gespeicht. Wenn ich dieses Dokument jetzt wieder öffne, dann klappt es!!!

In Word habe ich noch den Script-Editor gefunden und festgestellt, dass die Dokumentenvariablen dort zu finden sind. Man staune: In der Formatvorlage steht bei [ACTFIELD]TBL_CONTACT.SALUTATION tatsächlich .

Ich habe nun einen STOP in mein Script eingebaut und festgestellt, dass zu dem Zeitpunkt, wo mein Script ausgeführt wird, die Dokumentenvariablen von dem ACT-Prog noch NICHT von auf z.B. "Herr" geändert wurden. Also habe ich mir einen Button auf das Dokument gepflanzt mit dem ich mein Script dann nachträglich starten kann und siehe da es funktioniert.

Nun die Frage an Euch:
Wie schaffe ich es mein VBA-Script NACH der Änderung dieser DocumentenVariablen zu starten? Oder wie kann ich ein VBA-Script starten, wenn das Dokument fertig geladen ist?

Stefan
Ähnliche Inhalte
Visual Studio
Vb.net Datenfelder aus Word 2003 Dokument auslesen (3)

Frage von Herbrich19 zum Thema Visual Studio ...

Microsoft Office
gelöst Word 2010: Druckeinstellungen pro Abschnitt (13)

Frage von sascha382 zum Thema Microsoft Office ...

Microsoft Office
Office 2010 - Makros in Word "verschwinden" (7)

Frage von Fastinator zum Thema Microsoft Office ...

Windows Update
Windows 10 1703 mit Office 2003 meldet keinen Status an WSUS (20)

Frage von swisstom zum Thema Windows Update ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...