Kennt sich hier jemand mit Word und VBA aus?

  • Moin,


    kennt sich hier einer mit Visual Basic aus und könnte mir beim coden etwas aushelfen?


    Ich möchte in einem vorgefertigten Kundenschreiben mehrere Fälle per Drop-Downs auswählen, die dann in dem Schreiben eingeblendet bzw. ergänzt werden.


    Somit muss der Kunde nur ein Dokument unterschreiben anstatt 3 oder mehr.


    Ich hab das soweit mit einer IF-Regel im Dokument gelöst.


    Die Regel lautet in etwa wie folgt:

    {IF {REF case1}="Ja" "blablabla"}

    und dann immer so weiter bis case3.


    Soweit funktioniert das auch gut, jedoch gibt es hierbei einen kleinen Schönheitsfehler.


    Wenn ich alle 3 Fälle anklick ist der eingefügte Text sauber gegliedert, wähle ich jedoch nur den letzten Fall aus entsteht ein zu großer Absatz zum Rest vom Text. Was ja verständlich ist, da die Absätze für die anderen Auswahlmöglichkeiten vorgesehen ist.


    Gibt es hier ne Möglichkeit das ganze so umzuschreiben, dass wenn nur ein Fall (z.B. der letzte) ausgewählt wird, daß dieser an den oberen Absatz eingefügt wird?


    Von meinem Verständnis geht das nur über VBA Code den ich nicht besonders beherrsche.


    Aber wenn das irgendwie über die oben stehende IF-Regel geht dann immer her mit der Info :o

    "Revvin' up your engine, listen to her howlin' roar, metal under tension, beggin' you to touch and go..."

    Mods: Mugen Intake/Header/Exhaust/Active Gate Rotors, Hondata FlashPro, Invidia 60mm Testpipe, Endless MX-72, KW V3, 17" CE28N, Michelin PS4, Spoon Gusset Plate, Spoon Rigid Collars, J's STB & ETD, Beatrush Braces, Fender Braces, Stahlbus Bleeder Valves, Radium '06 OCC, Vibra Technics Engine Mounts, Hasport 62A Diff. Mounts, Koyo Radiator, Fluidampr, CR-Sway Bars.

    Einmal editiert, zuletzt von MUGEN_S2K ()

  • Keine Ahnung, ob das weiterhilft, aber meines Wissens nach gibt es auch die Bedingung IF NOT. Diese müsste dann mit doppeltem Hochkomma ("") spezifiziert werden.

    Bei mehreren Bedingungen hilt auch IF THEN ELSE.

    Hoffe das hilft weiter.

    Grüssle Holgi

  • Wüsste nicht wie ich damit den kleinen Schönheitsfehler korrigieren kann.


    Den ausgewählten Textblock ein-/ausblenden funktioniert ja wunderbar, nur die Absatzlücke zu schließen, wo für die anderen Textblöcke reserviert ist, irgendwie zu schließen macht mich stutzig.



    Ich versuch das Problem hiermit in etwa darzustellen:


    Sehr geehrter Kunde,


    (Jetzt folgt erst mal ein paar Zeilen Standarttext)

    Dann folgt ein Satz wo am Ende den Einsatz der entsprechenden Texte andeutet die im Code beinhaltet sind (hier mit blabla):


    {IF {REF case1}="Ja" "blablabla"}

    {IF {REF case2}="Ja" "blablabla"}

    {IF {REF case3}="Ja" "blablabla"}


    Wenn ich jetzt nur case3 einsetze, erscheint er genau an dem Absatz wo oben die entsprechende Zeile steht.


    Das sieht natürlich nicht so hübsch aus wenn darüber 3 leere Absätze im Dokument sind.

    Idealerweise erscheint case3 am Absatz wo der Code zu case1 steht.


    Hoffe das ist verständlich :)

    "Revvin' up your engine, listen to her howlin' roar, metal under tension, beggin' you to touch and go..."

    Mods: Mugen Intake/Header/Exhaust/Active Gate Rotors, Hondata FlashPro, Invidia 60mm Testpipe, Endless MX-72, KW V3, 17" CE28N, Michelin PS4, Spoon Gusset Plate, Spoon Rigid Collars, J's STB & ETD, Beatrush Braces, Fender Braces, Stahlbus Bleeder Valves, Radium '06 OCC, Vibra Technics Engine Mounts, Hasport 62A Diff. Mounts, Koyo Radiator, Fluidampr, CR-Sway Bars.

  • gotof "1"
    "Antwort"
    gotof "2"
    "1"
    {IF {REF case1}="Ja" "blablabla" "gotob Antwort"}

    {IF {REF case2}="Ja" "blablabla" "gotob Antwort"}

    {IF {REF case3}="Ja" "blablabla" "gotob Antwort" }
    "2"


    So könnte eine Lösung aussehen, Format musst noch anpassen an Visual Basic.

    In einem Forum ist es wie auf einer Party. Wer mit den Leuten dort nicht klarkommt, sollte nicht hingehen.

  • Dazu muss ich aber den VBA Editor in Word verwenden oder kann ich das mit dem Field Code direkt im Word Dokument einstellen?


    Hier mal ein schnelles Testfile wo das gut beschreibt.

    Text nicht beachten - hab ich einfach mal aus Wikipedia kopiert :D


    Testfile.zip

    "Revvin' up your engine, listen to her howlin' roar, metal under tension, beggin' you to touch and go..."

    Mods: Mugen Intake/Header/Exhaust/Active Gate Rotors, Hondata FlashPro, Invidia 60mm Testpipe, Endless MX-72, KW V3, 17" CE28N, Michelin PS4, Spoon Gusset Plate, Spoon Rigid Collars, J's STB & ETD, Beatrush Braces, Fender Braces, Stahlbus Bleeder Valves, Radium '06 OCC, Vibra Technics Engine Mounts, Hasport 62A Diff. Mounts, Koyo Radiator, Fluidampr, CR-Sway Bars.

  • Uff Leute, hatte vorhin einen Geistesblitz :lol:


    Die Lösung war einfacher als gedacht.

    Mein Field-Code war richtig. Um das kleine Makel zu korrigieren musste der Code einfach nebeneinander geschrieben und evtl. Absätze integriert werden.


    Anbei das File falls einer was ähnliches mal braucht.

    Dateien

    • Testfile FIX.zip

      (16,06 kB, 153 Mal heruntergeladen, zuletzt: )

    "Revvin' up your engine, listen to her howlin' roar, metal under tension, beggin' you to touch and go..."

    Mods: Mugen Intake/Header/Exhaust/Active Gate Rotors, Hondata FlashPro, Invidia 60mm Testpipe, Endless MX-72, KW V3, 17" CE28N, Michelin PS4, Spoon Gusset Plate, Spoon Rigid Collars, J's STB & ETD, Beatrush Braces, Fender Braces, Stahlbus Bleeder Valves, Radium '06 OCC, Vibra Technics Engine Mounts, Hasport 62A Diff. Mounts, Koyo Radiator, Fluidampr, CR-Sway Bars.