Thema Datum  Von Nutzer Rating
Antwort
Rot Zero
01.12.2021 07:44:45 Groß-/Klein-Problem
Solved

Ansicht des Beitrags:
Von:
Groß-/Klein-Problem
Datum:
01.12.2021 07:44:45
Views:
600
Rating: Antwort:
 Nein
Thema:
Zero

Hallo,

Ich hab folgendes Problem: Ich soll ein Makro erstellen, das jedes männliche Wort durch die weibliche Form ersetzt. Dabei soll jedoch die Groß- und Kleinschreibung erhalten bleiben. Ich hab dafür folgenden Quellcode erstellt:

Sub ReplaceTextWithSpaceBoth()

  With ActiveDocument.Content.Find
    .Text = " Er "
    .Replacement.Text = " Sie "
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

  With ActiveDocument.Content.Find
    .Text = " er "
    .Replacement.Text = " sie "
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

End Sub


Sub ReplaceTextWithSpaceLeft()

  With ActiveDocument.Content.Find
    .Text = " Er^p"
    .Replacement.Text = " Sie^p"
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

  With ActiveDocument.Content.Find
    .Text = " er^p"
    .Replacement.Text = " sie^p"
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

End Sub


Sub ReplaceTextWithSpaceRight()

  With ActiveDocument.Content.Find
    .Text = "^pEr "
    .Replacement.Text = "^pSie "
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

  With ActiveDocument.Content.Find
    .Text = "^per "
    .Replacement.Text = "^psie "
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

End Sub


Sub ReplaceTextWithDotRight()

  With ActiveDocument.Content.Find
    .Text = "Er."
    .Replacement.Text = "Sie."
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

  With ActiveDocument.Content.Find
    .Text = "er."
    .Replacement.Text = "sie."
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

End Sub


Sub ReplaceTextWithDotRightAndParagraphLeft()

  With ActiveDocument.Content.Find
    .Text = "^pEr."
    .Replacement.Text = "^pSie."
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With
  
  With ActiveDocument.Content.Find
    .Text = "^per."
    .Replacement.Text = "^psie."
    .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
  End With

End Sub

 

Dabei lasse ich das Makro nach diesen Mustern in dieser Reihenfolge

  1. "Herrn" durch "Frau",
  2. "herrn" durch "frau",
  3. "Herr" durch "frau",
  4. "seine" durch "ihre",
  5. "Seine" durch "Ihre",
  6. "sein" durch "ihr",
  7. "Sein" durch "Ihr",
  8. "seinem" durch "ihrem",
  9. "Seinem" durch "Ihrem",
  10. "seiner" durch "ihrer",
  11. "Seiner" durch "Ihrer",
  12. "er" durch "sie",
  13. "Er" durch "Sie",
  14. "ihm" durch "ihr",
  15. "Ihm" durch "Ihr",
  16. "ihn" durch "sie",
  17. "Ihn durch "Sie"

ersetzen (ich hab das der Vollständigkeit halber komplett aufgeschrieben). Dennoch kommt es vor, dass das Programm mal plötzlich aus "seine" nicht "ihre", sondern "Ihre" macht oder aus "Seine" nicht "Ihre", sondern "ihre" (passiert momentan am Anfang eines Paragraphen, ich hab es noch nicht woanders ausprobiert). Vielleicht passiert es auch mit anderen Wörtern, ich weiß es nicht. Kann mir bitte jemand sagen, was da das Problem an dem Makro ist und wie ich es berichtigen kann?

 

Danke im Voraus, Zero


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zero
01.12.2021 07:44:45 Groß-/Klein-Problem
Solved