Word Makro

Moderator: ModerationP

Re: Word Makro

Beitragvon Gast » 13. Aug 2021, 08:25

Hallo Theo,
vielen vielen Dank. Der "einfache", ursprüngliche Code funktioniert schon mal prima.

Deinen optimierten Code probiere ich heute, ich melde mich später.

Vielleicht noch Folgendes:
Die Textmarken stehen ja einzeln auf einer Seite.
Zum Markieren verwende ich folgenden Code
Sub TextEntlassbefundMarkieren()
'
' Entlassbefund markieren
'
Dim odoc As Document
Set odoc = ActiveDocument
If odoc.Bookmarks.Exists("Entlassbefund") And odoc.Bookmarks.Exists("Procedere") Then
odoc.Range(Start:=odoc.Bookmarks("Entlassbefund").Range.Start + 32, _
End:=odoc.Bookmarks("Procedere").Range.Start - 2).Select
End If
End Sub

lässt dieser sich so anpassen, dass das range Ende das Seitenende (\page) ist? \page ist ja standardmäßig als Textmarke vorrhanden.
Gast
 

Re: Word Makro

Beitragvon theoS » 13. Aug 2021, 20:35

Dazu habe ich dir im Makro schon was dazu geschrieben.
Natürlich könntest du das Ende der Seite mit der Bookmark auslesen, das ist aber meiner Meinung nach unnötig.
Zudem: Es ist immer mit einer gewissen mit dem Selection-Objekt zu arbeiten. Das liegt nicht daran, dass ich das nicht mag, aber du kannst halt selten richtig vorherbestimmen wo die wirklich landet.
Besser ist es von Bookmark zu Bookmark zu messen.
Die erste hat einen Paragraph(1), dessen Ende die Absatzmarke ist.
Die zweite hat einen Anfang, was letztlich in dem Dok der Seitenumbruch ist, wenn du davon 1 abziehst.
Mit den Ranges ist es wie mit einer Perlenkette. Jedes Zeichen ist ein davon. Wenn du es schaffst sie zu zählen, dann hast du gewonnen.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5724
Registriert: 19. Apr 2008, 00:14

Re: Word Makro

Beitragvon damienffm » 16. Aug 2021, 12:11

Hallo Theo,

danke Dir.
Habe jetzt die beiden Makros getestet. Leider funktionieren sie nicht ganz wie erwartet.

Formatierung: Ist eigentlich super mit Word eigenen Mitteln das zu machen. Im "Formatieren" Makro wird aber leider keine Überschrift1 gesetzt sondern nur das Standard Format. Auch der Text, der gelöscht werden soll wird nicht gelöscht, keine Ahnung warum nicht. Alles andere funktioniert. Ich habe das mit führenden Ausrufezeichen im Code kommentiert.
Das Makro "TMsetzen" funktioniert, formatiert aber das gesamte Dokument mit Überschrift1.

Beim Makro "Tabellen" die Pärchen BM1 und BM2 sind mir nicht ganz klar. BM1 ist der eine Teil des Pärchens und BM2 der zweite? Und der Range wird gebildet zwischen BM1 (1) und BM2 (1)?

Wie gesagt, Meine Kommentare mit führenden !!!!!! im Code.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon damienffm » 16. Aug 2021, 13:06

Also der Text wird gelöscht, wenn ich das am End stehende ^p rausnehme und durch ^13 ersetze
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon damienffm » 16. Aug 2021, 15:13

Wenn ich nur das Makro Sub TMsetzen laufen lasse ist die Formatierung korrekt. Wenn vorher das Sub Formatierung gelaufen ist, egal ob der Teil mit der Überschrift auskommentiert ist oder nicht, wird das gesamte Dokument mit Überschrift 1 formatiert
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon theoS » 16. Aug 2021, 16:17

Also, das ist ein wenig merkwürdig, auf dem Rechner den ich grad benutze trat das auch auf.
Liegt an dem doofen ^13, das ist nicht das gleiche wie ^p
Hab da jetzt noch einen weiteren kleinen Bug rausgemacht, dann ging es bei mir.
Die Reihenfolge ist: Zuerst die Formate definieren, dann den Text von Zeug bereinigen den du nicht haben willst.
Anschließend die Bookmarks setzen und dabei im gleichen Aufwasch die Überschriften setzen.
Code: Alles auswählen
Sub Formatierung1()
'
'
' SchriftArtGröße Makro
'
Set dd1 = ActiveDocument
Set rngCt = dd1.Content

With dd1.Styles("Standard").Font 'hier setzt du Standard für dieses Dokument auf deine Werte ein
 .Name = "Arial"
 .Size = 9
End With
With dd1.Styles("Standard")
.ParagraphFormat.SpaceBefore = 0
.ParagraphFormat.SpaceAfter = 0
End With
With dd1.Styles("Überschrift 1") 'das erspart dir dann das "Fetten" und macht ein saubereres Dokument
.Font.Name = "Arial"
.Font.Size = 9
.Font.Bold = True
.Font.ColorIndex = wdBlack
.ParagraphFormat.SpaceBefore = 0
.ParagraphFormat.SpaceAfter = 0
End With


rngCt.Style = "Standard" 'hier setzt du dann den Style ein, schwupp alles ist so formatiert.
'
'es ist Absicht, das Ganze zuerst in Standard umzuformatieren.
'Das nächste ist dann im TM-Makro drin
' Formatierung1
'

    rngCt.Find.ClearFormatting
    rngCt.Find.Replacement.ClearFormatting
    With rngCt.Find
        .Text = "^13{1;}"
        .Replacement.Text = "^13"
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = True
    End With
    rngCt.Find.Execute Replace:=wdReplaceAll
Set rngCt = dd1.Content


    rngCt.Find.ClearFormatting
    rngCt.Find.Replacement.ClearFormatting
    With rngCt.Find
        .Text = "^13"
        .Replacement.Text = "^p"  ' das Zeichen 13 ist halt doch nicht das gleiche wie ^p :)
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = False
    End With
    rngCt.Find.Execute Replace:=wdReplaceAll
Set rngCt = dd1.Content

   
    rngCt.Find.ClearFormatting
    rngCt.Find.Replacement.ClearFormatting
    With rngCt.Find
        .Text = "  {1;}"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = True
    End With
    rngCt.Find.Execute Replace:=wdReplaceAll
Set rngCt = dd1.Content
    rngCt.Find.ClearFormatting
    rngCt.Find.Replacement.ClearFormatting
    With rngCt.Find
        .Text = "Technisches Dokument! Nicht für den Versand!^p"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = False
    End With
    rngCt.Find.Execute Replace:=wdReplaceAll
   
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="1"
    Selection.GoTo What:=wdGoToBookmark, Name:="\page"
    Selection.Delete Unit:=wdCharacter, Count:=1
    'Call NewINtEnt.TMsetzen  'so rufst du in einer Prozedur das nächste Makro auf -> Call Modulname.Markoname
  'wenn das Modul bei dir Modul1 heißt, dann call Modul1.TMsetzen. Du kannst beobachten was passiert, wenn du mit F8 durch den Code gehst.
End Sub
Sub TMsetzen()
Dim dd1 As Document: Set dd1 = ActiveDocument
Dim rngDoc As Range, strArr As Variant, sI As Long, strNom As String
'in diesen Array kannst du jeden Begriff aufnehmen den du brauchst.
'sollte da noch ein anderes Sonderzeichen drin sein als der : und -
'kannst du unten noch eine Zeile mit Replace einfügen, TM's vertragen keine Sonderzeichen
strArr = Array("ITS-Aufnahmegrund:!", "Visuelle-Analog-Skala:!", "Aufnahmediagnose:!", "Verlaufs-Diagnosen:!", "Operationen:!", "Intensiv-Therapien:!", "Vorerkrankungen:!", _
"Vormedikation:!", "Anamnese-Unfallhergang:!", "Sozialanamnese:!", "Aufnahmebefund-E3:!", "Epikrise:!", "Entlassbefund:!", "CAM-ICU:!", _
"Procedere:!", "Kontaktdaten-Angehörige:!", "Betreuung:!", "Betreuer-Angehörige:!", "Vollmacht:!", "Patientenverfügung:!", "Isolationspflicht:!", "Beatmungsparameter:!", _
"Neuro-Status:!", "Bewusstsein:!", "Örtliche-Orientierung:!", "Zeitliche-Orientierung:!", "Situative-Orientierung:!", "Orientierung-Person:!", "Glasgow-Coma-Scale-Score:!", _
"Verhaltensweise:!", "Kardialer-Befund:!", "Atmung:!", "Befund-Pulmo:!", "Abdomenbefund:!", "Röntgenbefunde:!", "Konsiliarbefunde:!", _
"Infektiologie:!", "SOFA-Score:!", "Beatmungsform:!", "TempM:!", "Temperatur manuell:!", "Wunden:!", "VW-Wunde:!", _
"Medikamente:!", "Bedarfsmedikation:!", "Intervall-Medikation:!", "Perfusoren:!", "Infusionen-Ernährung:!", "Antibiotika-Verlauf:!", "Zugänge:!", _
"Blutprodukte:!", "Abschlussbeurteilung Weaning:!", "Gerät:!", "Ausleitung:!", "Allergien:!")

For sI = 0 To UBound(strArr)
strNom = strArr(sI)
strNom = Replace(strNom, ":!", "")
strNom = Replace(strNom, "-", "")
strNom = Replace(strNom, " ", "")


Set rngDoc = dd1.Content
rngDoc.Find.ClearFormatting
    rngDoc.Find.Replacement.ClearFormatting
    With rngDoc.Find
        .Text = strArr(sI)
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    rngDoc.Find.Execute
If rngDoc.Find.Found = True Then
'rngDoc.Style = "Überschrift 1" 'das erledigt jetzt auch gleich die "Fettung"
    With dd1.Bookmarks
        .Add Range:=rngDoc, Name:=strNom
    End With
    dd1.Bookmarks(strNom).Range.Style = "Überschrift 1"
End If
  Next sI


Application.ScreenUpdating = True
End Sub
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5724
Registriert: 19. Apr 2008, 00:14

Re: Word Makro

Beitragvon damienffm » 16. Aug 2021, 19:52

Wow, super, läuft super, werde mir morgen Deine Änderungen noch mal genauer anschauen, damit ich sie besser nachvollziehen kann :)

Die Tabellen funktionieren nicht, es werden Texte unter Textmarken in Tabellen umgewandelt, die gar keine Tabellen sind. Muss ich mir morgen mal anschauen. Ich habe das mit den Pärchen und dem Split noch nicht ganz verstanden. Wenigstens läuft das Makro aber fehlerfrei durch.

Schönen Abend und danke erstmal
Alexander
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon theoS » 16. Aug 2021, 20:23

damienffm hat geschrieben:Die Tabellen funktionieren nicht, es werden Texte unter Textmarken in Tabellen umgewandelt, die gar keine Tabellen sind.

Nun, das war mit deinen einzelnen Makros jetzt nicht anders in dem Test-Dok.
Zur Erläuterung der Pärchen:
Du hast in deinen Einzelmakros die Bookmarks angesprochen. Einmal die "Start-Bookmark", nach der Text der darauf folgt, umgewandelt werden soll.
Dass du die Überschrift mit dabei hast, hast du Buchstaben gezählt und dann ab da weiter den Text markiert bis zum Anfang der Bookmark die darauf folgt.

Meine Version geht da ähnlich vor. Sie nimmt den Range der Bookmark, davon den Absatz. Vorteil: Du musst nicht zählen.
Von diesem Absatz nehme ich das Ende+1, da ist dann, da das Ende eines Absatzes das ^p ist, der Beginn der neuen Zeile.
Nun kommt, wie bei dir, die zweite Bookmark zum Einsatz, allerdings benötige ich hier nur den Start des Range der TM.
In diesem Zwischenraum wird alles in eine Tabelle umgewandelt.
Die Pärchen hab ich jetzt in zwei Arrays aufgeteilt. Dabei ist eben wichtig, dass die beiden in genau der Reihenfolge stehen wie sie in deinen Einzelmakros standen. Ich hatte gestern keinen Nerv mehr, das komplett zu machen.
Und.
Das kann jetzt sein, dass da gar kein Text steht sondern nur ein -
Das sollte man bereinigen, da das auch die Entfernung von zwei aufeinanderfolgenden ^p^p nicht schafft.
Dazu wäre es jetzt gut, wenn du mal in dem Testdok die Absätze benennst, die von meinem Makro umgewandelt werden und nicht sollen, aber von deinem auch nichts passiert.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5724
Registriert: 19. Apr 2008, 00:14

Re: Word Makro

Beitragvon Gast » 17. Aug 2021, 10:28

So, ich habe das Tabellen Makro angepasst, jetzt funktioniert es blendend, danke für Deine Hilfe. Die Pärchen haben nicht gestimmt. Tabellen gibt es nur in den angegebenen Pärchen.

Die restlichen Bookmarks, die ich in meinen Einzelschritten anspringe sollen lediglich in Fließtext umgewandelt werden. Ich versuche das nach dem Muster der Tabellen selbst hinzukriegen. Ich melde mich.

Sub Tabellen()
Dim rngToTa As Range
Dim BM1 As String, bM2 As String
Dim strBM1 As Variant, strbM2 As Variant
Set dd1 = ActiveDocument 'das ist jetzt zum Testen drin, wenn du das sub aus dem vorigen sub aufrufst, dann brauchst du das nicht
' kann aber gut auch drin bleiben

'
'hier baust du diesesmal 2 der Arrays auf, die Art ist ein wenig anders.
'die Split-Funktion zerlegt einen String an einem Zeichen in einen Array, hier ist das Trennzeichen das |
'Oacht: die Reihenfolge in beiden muss immer dem Paar entsprechen das abgefragt wird.
'da fehlen noch ein paar Paare
strBM1 = Split("AntibiotikaVerlauf|Medikamente|IntervallMedikation|Bedarfsmedikation|Perfusoren|InfusionenErnährung|Blutprodukte", "|")
strbM2 = Split("Zugänge|IntervallMedikation|Bedarfsmedikation|Perfusoren|InfusionenErnährung|AntibiotikaVerlauf|Ausleitung", "|")

For i = 0 To UBound(strBM1)
BM1 = strBM1(i) 'die Zuweisung zu einer richtigen Stringvariable muss wegend er Übergabe zur Funktion sein
bM2 = strbM2(i)

Set rngToTa = rangeFuerTabelle(BM1, bM2) 'Hier ruft das Makro die Funktion auf, die den Range zurückliefert

If Not rngToTa Is Nothing Then 'Überprüfung ob denn ein Wert zurückgegeben wurde, sonst tut es nichts
rngToTa.ConvertToTable Separator:=wdSeparateByCommas, NumColumns:=2, _
NumRows:=7, AutoFitBehavior:=wdAutoFitFixed
'das habe ich jetzt so gelassen, nur auf den range bezogen
With rngToTa.Tables(1)
.Style = "Tabellenraster"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = False
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = False
End With
End If
Next

End Sub

Function rangeFuerTabelle(strBookmark1 As String, strBookmark2 As String) As Range
'Die Funktion muss mit den beiden Parametern aufgerufen werden! Sonst tut sich da nix
'das ist die Funktion die dir den Range vom Ende der Startbookmark bis zum dem Zeichen vor dem Anfang der Endbookmark ermittelt
If dd1.Bookmarks.Exists(strBookmark1) And dd1.Bookmarks.Exists(strBookmark2) Then
lngStart = dd1.Bookmarks(strBookmark1).Range.Paragraphs(1).Range.End - 1 'also vom Ende des Absatzes(!) der ersten Bookmark
lngEnd = dd1.Bookmarks(strBookmark2).Range.Start - 1 'bis zum Anfang der zweiten Bookmark, aber ein Zeichen vorher
Set rngS = dd1.Range(lngStart, lngEnd) 'hier wird der Range gesetzt !!!!!! HIer gibt es den Debugfehler "NIcht im Definitionsbereich.
rngS.Select 'umd das zu beobachten kannst du den Kommentar rausnehmen
End If
Set rangeFuerTabelle = rngS
End Function
Gast
 

Re: Word Makro

Beitragvon damienffm » 18. Aug 2021, 09:49

Hallo Theo,

also die Tabellen funktionieren jetzt prima.

Ich habe jetzt versucht, das Tabellen Makro so um zu funktionieren, dass ich dabei Textblöcke im Dokument markieren kann (analog zur Tabelle) und am Ende die unnötigen Zeilenumbrüche entferne, ich möchte hier einen Fließtext daraus machen und zwar nur innerhalb der definierten Textblöcke.
Ich habe hierzu das Tabellen Makro so um geschrieben, wie ich dachte, dass es funktioniert. Die im Splittbereich angegebenen Pärchen sind so wie dastehen korrekt. (auch analog zur Tabelle). Im markierten Bereich sollte jetzt das ^p durch ein Leerzeichen ersetzt werden. So ganz funktioniert das aber nicht und ich finde den Fehler nicht. Ich hänge den Code als TXT Datei hier dran. An der markierten Stelle erhalte ich immer den Fehlerhinweis "Objektvariable oder with-Blockvariable nicht festgelegt".

Kannst Du da bitte noch einmal drüber schauen, wo der Fehler ist?

Danke Dir.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon theoS » 18. Aug 2021, 21:34

Die Fehlermeldungen von VBA sind nicht unbedingt immer prickelnd.
Hier hast du das mit dem Problem, dass das Dokument nicht gesetzt ist.
Das Makro hatte ich ja so konstruiert, dass es von dem anderen, in dem das Dokument gesetzt war, aufgerufen wird. Solange das läuft, ist das Dokument im Speicher, und du kannst die Variable benutzen
So allein gestellt gehts erst weiter wenn du die Zeile wieder aktivierst:
Code: Alles auswählen
Sub Formatierung2()
Dim rngToForm As Range
Dim BM1 As String, bM2 As String
Dim strBM1 As Variant, strbM2 As Variant

'########## hier musst du das Dokument wieder setzen:
Set dd1 = ActiveDocument 'das ist jetzt zum Testen drin, wenn du das sub aus dem vorigen sub aufrufst, dann brauchst du das nicht
                        ' kann aber gut auch drin bleiben
'##########################################
'
'hier baust du diesesmal 2 der Arrays auf, die Art ist ein wenig anders.
'die Split-Funktion zerlegt einen String an einem Zeichen in einen Array, hier ist das Trennzeichen das |
'Obacht: die Reihenfolge in beiden muss immer dem Paar entsprechen das abgefragt wird.

strBM1 = Split("AnamneseUnfallhergang|AufnahmebefundE3|Epikrise|Entlassbefund|Neurostatus|KardialerBefund|BefundPulmo|Abdomenbefund", "|")
strbM2 = Split("AufnahmebefundE3|Epikrise|Entlassbefund|Procedere|Bewusstsein|Atmung|Abdomenbefund|Röntgenbefunde", "|")
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5724
Registriert: 19. Apr 2008, 00:14

Re: Word Makro

Beitragvon damienffm » 19. Aug 2021, 09:30

Ja klar, hätte ich auch selber merken können. Danke
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon damienffm » 19. Aug 2021, 10:45

So es ist vollbracht!

Ganz ganz herzlichen Dank an TheoS, ohne Deine Hilfe hätte es niemals funktioniert.

Das Makro läuft perfekt steht ab sofort den Anwendern zur Verfügung.

Klasse.

Gruß
Alexander

P.S. Theo, nebenbei habe ich durch Deine Kommentare viel gelernt. Vielleicht solltest Du Schulungen machen? :D
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon damienffm » 27. Sep 2021, 20:18

Hallo Theo,

ich brauche noch einmal Deine Hilfe.

Im angehängten Dokument funktioniert das Sub Formatierung2 () nicht richtig. Die Ranges werden korrekt gesetzt aber die Zeilenenden ^p werden nicht gelöscht zumindest nicht alle. Es soll ja ein Fließtext entstehen.

Kann es am wdfindstop liegen? Muss dass wdfindcontinue heißen?

Ich hoffe, Du kannst mir noch einmal behilflich sein.

Danke Dir im Voraus
Alexander
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
damienffm
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 31
Registriert: 29. Apr 2020, 08:29
Wohnort: Frankfurt am Main

Re: Word Makro

Beitragvon theoS » 27. Sep 2021, 21:58

Das ist jetzt nicht so einfach zu lösen, denn du hast hier mitten im Text einen ^13 drin.
Die Suchen/Ersetzenfunktion wird da aber nicht dagegen funktionieren, fürchte ich. Damit wird jetzt erst mal nur alles was öfter als 1 mal vorkommt durch ein ^13 ersetzt. Das funktioniert ja klasse am Ende aber halt nicht mitten im Text.
Die wdFindContinue steht ja in dem Code schon drin und besagt ja nur, dass von der Stelle aus dann weitergemacht wird bis wieder die Stelle erreicht ist. Ist hier der Anfang, also bleibt sich das gleich.
Versuch mal den hier einzubauen. Vielleicht vor dem Teil das dir die "Technisches Dokument..."-Stellen rauslöscht.
Code: Alles auswählen
'könnte das rausbringen
Set rngCt = dd1.Content
   
    rngCt.Find.ClearFormatting
    rngCt.Find.Replacement.ClearFormatting
    With rngCt.Find
        .Text = "([!^13^147.:;\?\!])(^13)"    'das sucht dir die Absatzmarken  die nicht hinter einem dieser Zeichen stehen
        .Replacement.Text = "\1 "   'und schreibt dir das Zeichen allein wieder hin
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = True
    End With
    rngCt.Find.Execute Replace:=wdReplaceAll
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5724
Registriert: 19. Apr 2008, 00:14

VorherigeNächste

Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste