Office: Bitte um Aktualisierung eines Makros

Helfe beim Thema Bitte um Aktualisierung eines Makros in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, für einer Dokumentvorlage hat mir vor vielen Jahren ein ehemaliger Kollege ein Makro geschrieben, das in den neueren Versionen von... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von Fonsi, 21. Juli 2025.

  1. Fonsi Neuer User

    Bitte um Aktualisierung eines Makros


    Hallo zusammen,
    für einer Dokumentvorlage hat mir vor vielen Jahren ein ehemaliger Kollege ein Makro geschrieben, das in den neueren Versionen von Word leider nur noch sehr hakelig funktioniert. Es geht um Folgendes: wir haben eine Wordliste für Mischbriefe für Spendenquittungen. In der Wordliste gibt es diverse Felder z. B. für die Nummer der Quittung, ein Datum und einen Betrag. Der Betrag (in Ziffern) wird automatisch in das passende Zahlenwort umgewandelt.
    Nach Ausfüllen der Felder aktiviere ich das Makro und die Felder werden in entsprechenden Text umgewandelt. Dann kann ich über die Serienbrieffunktion die Quittungen ausdrucken.
    Das Makro hat folgenden Inhalt:
    Attribute VB_Name = "DokumentschutzAufheben"
    Sub DokumentschutzAufheben()
    Dim sFensterbezeichnung As String
    On Error GoTo Schutz_Error
    sFensterbezeichnung = WordBasic.[FileNameFromWindow$](0)
    sFensterbezeichnung = Right$(sFensterbezeichnung, 4)
    If ActiveDocument.ProtectionType <> wdNoProtection Then
    If sFensterbezeichnung <> ".dot" Then
    ' Dokumentschutz aufheben
    ActiveDocument.Fields.Update
    ActiveDocument.Unprotect
    ' Felder löschen und in Text umwandeln
    ianz = ActiveDocument.Fields.Count
    For i = 1 To ianz
    ActiveDocument.Fields.Item(1).Unlink
    Next
    Else
    ' Dokumentschutz aufheben
    ActiveDocument.Unprotect
    End If
    Else
    MsgBox ("Der Dokumentschutz ist bereits aufgehoben!")
    End If
    Schutz_Error:
    Select Case Err.Number
    Case 0
    Case 5941
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Case Else
    System.Cursor = wdCursorNormal
    MsgBox "Es ist ein Fehler mit der Nummer " & LTrim(Str(Err.Number)) & " aufgetreten!", vbCritical, "Schutz-Main"
    Err.Number = 0
    End Select
    System.Cursor = wdCursorNormal
    End Sub

    ------------------------------
    Kann vielleicht jemand das Makro auf den aktuellen Stand bringen?
    Ich würde mich sehr freuen.
    Viele Grüße an das Team
    Fonsi
     
    Fonsi, 21. Juli 2025
    #1
  2. Gerhard H
    Gerhard H Erfahrener User
    Hallo Fonsi,

    da ist mir sehr vieles arg nebelig:

    Zu deiner Beschreibung:
    1. "Sehr hakelig:" Wo genau hakts? Gibts Fehlermeldungen oder gehts nur langsam? Funktioniert das Makro grundsätzlich (da hab ich meine Zweifel)?
    2. "Mischbriefe": Damit meinst du einen Seriendruck?
    3. "diverse Felder": Damit meinst du die Seriendruckfelder? Oder (auch) andere?
    4. "der Betrag wird automatisch in das passende Zahlenwort umgewandelt": Das bedeutet für mich z.B. aus "12" wird "zwölf". In deinem Makro seh ich nichts davon. Wird das anderweitig erledigt oder möchtest du das gern haben?
    5. "aktiviere ich das Makro und die Felder werden in entsprechenden Text umgewandelt. Dann kann ich über die Serienbrieffunkton die Quittungen ausdrucken. Das kann nicht sein. Wenn alle Felder (und damit auch die Seriendruckfelder) in reinen Text verwandelt worden sind, ist das Ausführen eines Seriendrucks nicht mehr möglich. Das musst du irgendwie anders meinen.
    Zu deinem Makro:

    Da hätte ich viele Fragezeichen und Änderungsvorschläge, aber das wesentliche Problem ist dieser Teil:
    ianz = ActiveDocument.Fields.Count
    For i = 1 To ianz
    ActiveDocument.Fields.Item(1).Unlink
    Next

    Diese Schleife wird zwar so oft durchlaufen, wie es Felder im Dokument gibt, aber es wird immer nur das erste Feld in Text verwandelt. Das sollte wohl Fields.Item(i) heißen. Aber dann tritt Punkt 5 in Kraft. Es gibt dann keine Seriendruckfelder mehr.

    Ich fürchte, du musst noch mal von vorne erklären. Hilfreich dabei wäre auch, wenn du das Seriendruck-Hauptdokument zur Verfügung stellst. Datenschutzwürdiges wie Adressen, Logos und dergleichen kannst du rauslöschen. Wenn erst mal das Vorhaben klar ist, werden wohl einige Vorschläge zum Renovieren abfallen.
     
    Gerhard H, 22. Juli 2025
    #2
  3. Fonsi Neuer User
    Hallo Gerhard, vielen Dank für Deine schnelle Antwort und die Fragen. Ich versuche, den „Nebel“ etwas aufzulösen.

    Zu 1.

    Es geht nur sehr, sehr langsam. Es gibt keine Fehlermeldungen und es funktioniert letztendlich.

    Zu 2.

    Ja, ich meine einen Seriendruck.

    Zu 3.

    Es sind Textformularfelder für die Name, Adresse, Nr. der Spendenquittung, Betrag und Datum.

    Zu 4.

    Ja, die Zahl 100,20 (Euro) z. B. im Textfeld „Betrag060“ wird umgewandelt in Hundert und 20/100 (Euro) durch folgendes Feld „REF Betrag060 \*DOLLARTEXT“

    Zu 5.

    Nachdem das Makro die Textformularfelder in reinen Text umgewandelt hat, speichere ich die Liste. Dann öffne ich aus einer Dokumentvorlage den eigentlichen Serienbrief und mische ihn mit der gespeicherten Liste.

    Die Liste enthält zahlreiche Namen und Adressen von regelmäßigen Spenderinnen und Spendern. Außerdem umfasst sie mehrere Zeilen mit Textformularfeldern, in die ich dann jeweils andere Spender eintragen kann.

    Leider kann ich keine Worddateien hochladen.

    Wenn es noch Fragen gibt, versuche ich, sie zu klären.

    Viele Grüße und nochmals vielen Dank.

    Fonsi
     
    Fonsi, 22. Juli 2025
    #3
  4. Gerhard H
    Gerhard H Erfahrener User

    Bitte um Aktualisierung eines Makros

    Hallo Fonsi,

    einerseits hab ich jetzt ein bisschen mehr verstanden, andererseits wächst mein Unverständnis dennoch:

    Der Mischbetrieb zwischen Formularfeldern und Seriendruck ist für mich unsinnig: Wenn du deine Formularfelder im Seriendruck-Hauptdokument untergebracht hast und händisch ausfüllst, erscheinen doch im ausgefüllten Seriendruck bei jedem Adressaten die gleichen Daten? Angesichts der Tatsache, dass du schreibst, dass das Makro seinen Dienst tut, muss ich da noch gehörig was missverstehen.

    Wäre es nicht wesentlich zielführender, Daten wie Name, Spendenbetrag etc. aus der Datei zu holen, die du nachher offenbar für den Seriendruck verwendest? Da würde sich alles auf einen simplen Seriendruck reduzieren.

    Nach wie vor bin ich der Meinung, dass ein Musterdokument vermutlich enorm helfen würde, dein Vorhaben zu verstehen. Warum kannst du keins hochladen?

    Übrigens: Welche Office-Version habt ihr im Einsatz?

    Ich häng trotz all meiner Verständnislosigkeit ein Dokument an mit dem von mir geänderten Makro drin, so dass du erstens prüfen kannst, ob es das macht, was du dir vorstellst und zweitens, ob es schneller läuft als dein originales. Es ist gezippt, da Dokumente mit Makros hier nicht hochgeladen werden dürfen.
     
    Gerhard H, 22. Juli 2025
    #4
  5. Fonsi Neuer User
    Hallo Gerhard, vielen herzlichen Dank. Es funktioniert auch mit Deiner geänderten Version. Wenn ich das komplette Dokument nehme, dauert es ebenfalls länger und ganz oben in der Statuszeile steht: "keine Rückmeldung" und die Sanduhr erscheint. Aber nach einiger Zeit ist das Makro fertig.
    Ich habe jetzt aus der Quittung und der Liste jeweils eine zip-Datei gemacht. Alle persönlichen Daten sind gelöscht und die Liste ist nur ganz kurz. Da läuft auch das alte Makro schnell.
    Vielleicht lasse ich es einfach so. Es ist übrigens eine Office-Version von 2021 professional plus.
    Viele Grüße
     
    Fonsi, 22. Juli 2025
    #5
  6. Gerhard H
    Gerhard H Erfahrener User
    Aaah,

    kaum gibts Musterdokumente, versteh ich es: Die Spendenliste ist das Seriendruck-Hauptdokument, kann aber wegen der Formularfelder erst verwendet werden, wenn die in reinen Text aufgelöst sind (ich hab immer eine Excel-Liste vermutet und konnte deshalb die Word-Spendenliste nicht sinnvoll zuordnen.

    Aber wenn du die Spendenliste tatsächlich in Excel führst, wird doch alles viel einfacher! Lediglich für die Umwandlung der Zahlenbeträge in Worte müsstest du ein Makro einsetzen, aber dafür gibts genug Beispiele im Netz).
     
    Zuletzt bearbeitet: 23. Juli 2025
    Gerhard H, 23. Juli 2025
    #6
  7. Fonsi Neuer User
    Hallo lieber Gerhard,
    ganz herzlichen Dank für Deine ganze Mühe und besonders für Deinen Tipp mit der Exceltabelle. Das war mir überhaupt nicht bewusst, dass man einen Seriendruck auch mit einer Exceltabelle ausführen kann. Das werde ich sehr gern ausprobieren und bin sicher, dass ich für die Umwandlung ver Zahlen in Worte eine passende Lösung finden werde.
    Viele Grüße
    Fonsi
     
    Fonsi, 23. Juli 2025
    #7
  8. Gerhard H
    Gerhard H Erfahrener User

    Bitte um Aktualisierung eines Makros

    Hallo Fonsi,

    mir fällt grad noch ein, dass es völlig unnötig ist, nach einem Excel-Makro für Zahlen in Worte zu suchen. Das erledigst du im Seriendruck-Hauptdokument.

    Angenommen, du hast in Excel eine Spalte Betrag, und in Word das Seriendruckfeld {mergefield Betrag}, dann fügst du das einfach nochmal ein und gibst ihm den Schalter Dollartext mit, z.B.

    "Sie haben {mergefield betrag} (in Worten: {mergefield betrag \*dollartext} Euro gespendet."
     
    Gerhard H, 23. Juli 2025
    #8
  9. Fonsi Neuer User
    Lieber Gerhard,
    vielen Dank: perfekt.
    Wir sind übrigens ein kleiner Verein, der ein soziales Projekt in Südindien unterstützt. Alle Spenden werden in voller Höhe an unser Hilfsprojekt weitergeleitet. Deshalb freuen wir uns besonders über die ehrenamtliche Unterstützung.
    Fonsi
     
    Fonsi, 23. Juli 2025
    #9
Thema:

Bitte um Aktualisierung eines Makros

Die Seite wird geladen...
  1. Bitte um Aktualisierung eines Makros - Similar Threads - Bitte Aktualisierung Makros

  2. Bitte um Hilfe für unsichtbares inhaltsverzeichnis

    in Microsoft Word Hilfe
    Bitte um Hilfe für unsichtbares inhaltsverzeichnis: Hi, vielen Dank schon mal im Voraus an alle, die sich die Zeit nehmen, mir bei meinem Problem zu helfen! Folgendes Problem habe ich: Ich möchte ein Inhaltsverzeichnis zum Navigieren im Dokument...
  3. Bitte um Hilfe bei verschachtelter Filterung über mehrere Zeilen

    in Microsoft Excel Hilfe
    Bitte um Hilfe bei verschachtelter Filterung über mehrere Zeilen: Hallo, Ich stehe vor einer Aufgabe die ich nicht zu lösen weiss und wäre für eure Hilfe sehr dankbar. Es geht darum eine Excel Tabelle zu filtern, aber (ich nenne es mal so) verschachtelt über...
  4. Bitte aktualisieren Sie Ihre Anmeldeinformationen... @gmx.ch

    in Microsoft Outlook Hilfe
    Bitte aktualisieren Sie Ihre Anmeldeinformationen... @gmx.ch: Seit einer Neuinstallation meines gmx.ch-Mailkontos (POP3) bekomme ich täglich die im Anhang als Screenshot angeführte Meldung. Das Konto habe ich präzis der Vorgehensbeschreibung von GMX auf...
  5. EXCEL Berechnung bitte um Hilfe

    in Microsoft Excel Hilfe
    EXCEL Berechnung bitte um Hilfe: Hallo, wer kann mir helfen. Ich habe unterschiedliche 16 Anfangstermine und unterschiedliche 25 Forderungsbeträge und 2 Teilzahlungen im Verlauf der 16 Anfangstermine erhalten sowie einen festen...
  6. Bitte um hilfe bei Outlook 2010

    in Microsoft Outlook Hilfe
    Bitte um hilfe bei Outlook 2010: Bitte um hilfe bei Outlook 2010. Ich habe seit ein paar Monaten folgendes Problem: In meine Outlook popt ständig folgende Fenster auf (Siehe unten). Das ist sehr nervig und mein Outlook...
  7. Benötige bitte dringend Hilfe

    in Microsoft Excel Hilfe
    Benötige bitte dringend Hilfe: Hallo zusammen, ich würde gerne über eine Formel den Inhalt aus A1 von Blatt 1 in A1 von Blatt 2 anzeigen lassen, wenn A1 in Blatt 1 einen bestimmten Text beinhaltet. Danke euch schon mal für...
  8. Bitte um Hilfe bei erstellung eines Makros, chat GPT hängt sich auf

    in Microsoft Excel Hilfe
    Bitte um Hilfe bei erstellung eines Makros, chat GPT hängt sich auf: Hallo Bitte kann mir jemand helfen ich bräuchte ein Makro welches mir eine Liste erstellt aus der Zahlenkombination 0-6. beginnt soll beginnen mit 0 0 0 0 0 0 0 dann 0 0 0 0 0 0 1 aber auch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden