Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Markieren von allen Textfelder in einem Dokument
zurück: "Dynamisches" Kombinationsfeld weiter: Formularfelder mit Grafiken? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
skelo
Excel-Bastler (ohne VBA)


Verfasst am:
06. Apr 2009, 09:10
Rufname:

Markieren von allen Textfelder in einem Dokument - Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo an alle,

ich habe in meinem Dokument viele Textfelder.

Gibt es eine Möglichkeit diese alle gleichzeitig zu markieren um diese zu formatieren (keine Rahmenlinie, grauer Hintergrund)?

Vielen Dank.

Sascha
Access-Freak
Fortgeschrittener Access-Programmierer


Verfasst am:
06. Apr 2009, 09:51
Rufname:


AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Sascha,
du wirst sie wohl alle anklicken müssen, während du die Umschalttaste hälst.
Dann halte die Umschalttaste, und klicke mit der rechten Maustaste auf eins der Textfelder, nun kannst du sie unter "Textfeld formatieren..." alle formatieren.
Viele Grüße,
Access-Freak
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
06. Apr 2009, 10:36
Rufname:
Wohnort: Leipzig

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Sascha,

das kannst Du doch ganz elegant mit einem Makro machen, das alle Textfelder nacheinander behandelt:
Code:
Sub AlleTextfelderEntrahmen()

    Dim shp As Word.Shape
   
    For Each shp In ActiveDocument.Shapes
        If shp.Type = msoTextBox Then
            shp.Line.Visible = msoFalse
            shp.Fill.ForeColor = wdColorGray30
        End If
    Next shp

End Sub

Wenn Du beim nächsten Mal die Textfelder gleich rahmenlos einfügen willst:

Textfeld ohne Rahmen

Falls Du nicht weißt, wie man ein Makro verwendet:

VBA-Code für Makro einbringen und verwenden

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
Gast



Verfasst am:
06. Apr 2009, 11:06
Rufname:

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Lisa,

vielen Dank für deine Hilfe!

Es klappt schon super nur folgende kleine Dinge würde ich gerne noch anpassen:

1.) Bei einigen Textfelder geht es leider nicht. Diese sind auch etwas "komisch". Wenn ich auf den Rand klicke, kommt bei den anderen Textfelder (bei denen das Makro geht) die gestrichelte Linie um den Rahmen. Bei den komischen Textfelder kommt aber an jeder der 4 Ecken ein X in einem Kreis.
Was kann das denn sein?

2.) Wie komme ich von einer ausgesuchten Farbe auf den im Makro einzugebenen Farbcode?

3.) Kann ich das Makro auch auf bestimmte Textfeldgrößen begrenzen? Ich habe 3 unterschiedliche Arten von Textfeldern im Dokument (diese unterscheiden sich alle von der Größe) und davon sollen eigentlich nur 2 Arten von dem Makro bearbeitet werden.

Hast du da noch Ideen dazu?

Vielen Dank.

Sascha
skelo
Excel-Bastler (ohne VBA)


Verfasst am:
06. Apr 2009, 11:19
Rufname:


AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Nachtrag zu 3.)
Es würde mir schon reichen wenn nur alle Textfelder ohne Hintergrundfarbe grau gefärbt werden. Also irgendwas mit "if textfeld=ohne Hintergrundfarbe dann grau färben (ansonsten nichts machen)".

Dies natürlich in der VBA Sprache Wink
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
06. Apr 2009, 12:17
Rufname:
Wohnort: Leipzig

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Sascha,

gleich drei Fragen.

1. Das sind dann keine Textfelder, sondern andere Autoformen aus der Symbolleiste Zeichnen, man kann z.B. ein Rechteck aufziehen aus der Zeichnenleiste, rechte Maustaste - Text hinzufügen. Da es ein Rechteck ist, sieht es optisch wie ein Textfeld aus, ist aber keins, sondern eben ein Rechteck.

Ich habe in der Schleife bewusst den Type der Shape abgefragt, damit nur Textfelder "erwischt" werden und nicht irgendwelche anderen Kreise, Rechtecke usw. "ergrauen" und ihre Rahmen verlieren.

Markier mal ein solches Feld und lies den Type aus:
Code:
Sub ShapeTypbestimmen()

    MsgBox Selection.ShapeRange.Type
End Sub

1 = msoAutoShape (Shape-Rechteck)
17 = msoTextBox (Textfeld)

Das könnte man abfragen und entsprechend darauf reagieren.

2. Das macht im VBA-Editor über den Objektkatalog (F2). Dort kann man die Konstanten ansehen, oder man nutzt im VBA-Editor die Intellisense (nach dem =Zeichen beim Schreiben des Codes die Leertaste drücken, dann "bietet" Word Möglichkeiten an).

3. könnte etwa so gehen:
Code:
Sub AlleTextfelderEntrahmen()

    Dim shp As Word.Shape
   
    For Each shp In ActiveDocument.Shapes
        Select Case shp.Type
            Case msoTextBox, msoAutoShape
                If shp.Fill.ForeColor = 16777215 Then
                    shp.Line.Visible = msoFalse
                    shp.Fill.ForeColor = wdColorGray30
                End If
        End Select
    Next shp

End Sub

Hier werden jetzt Textfelder und Rechtecke behandelt. Falls Du einen anderen Typ herausfindest, muss der statt msoAutoShape hinein. Im Übrigen handelt es sich NICHT um die Hintergrundfarbe (BackColor), sondern um ForeColor! Das ist die Füllfarbe. Hintergrundfarbe würdest Du sonst nur bei transparenten Objekten sehen.

Ansonsten beschreib nochmal genau, was nun mit den Textfeldern und/oder Rechtecken gemacht werden soll.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
skelo
Excel-Bastler (ohne VBA)


Verfasst am:
06. Apr 2009, 13:01
Rufname:

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Lisa,

du bist echt genial Smile

Habe jetzt durch deine Hilfe herausgefunden, dass die beiden Textfelder einfach nur gruppiert waren (Shape Typ = 6 --> msoGroup).

Nur eins habe ich nicht richtig rausbekommen:
Wie bekomme ich von einer bestimmten Farbe den Code? Durch Ausprobieren habe ich gemerkt, dass mein Grau das wdcolorGray25 ist und 16777215 müsste dann ohne Füllfarbe bedeuten oder?

Ansonsten habe ich die msoGroup eingesetzt und schon ging es ohne Probleme (auch das Rückgängigmachen der Füllfarbe klappt einwandfrei).

Vielen Dank.

Sascha
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
06. Apr 2009, 13:04
Rufname:
Wohnort: Leipzig

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Sascha,

die Ziffer habe ich genauso bekommen, ich habe einfach die Farbe ausgelesen. Die Farben werden eigentlich als Long-Zahlen kodiert (16777215). Für die wichtigsten gibt es Konstanten(bezeichnungen) wie wdColorGray25. Was Du nun genau gewählt hast, liest man am besten aus:
Code:
Sub ShapeFarbebestimmen()

    MsgBox Selection.ShapeRange.Fill.ForeColor
End Sub

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
skelo
Excel-Bastler (ohne VBA)


Verfasst am:
06. Apr 2009, 13:16
Rufname:

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Lisa,

super!

Vielen Dank für deine Hilfe.

Du hast mir jetzt das einzelne Anklicken von ca. 2.500 Textfeldern erspart Smile

Sascha
skelo
Excel-Bastler (ohne VBA)


Verfasst am:
08. Mai 2009, 12:55
Rufname:

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo,

ich bräuchte nochmal eure Hilfe:

Bei den Textfeldern möchte ich noch eine bestimmte Formatierung über das Makro mit einbringen.

Normalerweise mache ich es so: Rechtsklick auf den Rahmen des Textfeldes --> Textfeld formatieren --> Textfeld
Und hier möchte ich die Werte vom Inneren Seitenrand (links und oben) ändern.

Wie gebe ich dieses in das Makro ein?

Gibt es irgendwo eine gute Tabelle, die mir die Befehle auflistet die möglich sind (am besten mit einer kurzen Erklärung)?

Vielen Dank.

Sascha
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
10. Mai 2009, 17:59
Rufname:
Wohnort: Leipzig

AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Sascha,

die Schleife sieht dann so aus:
Code:
Sub AlleTextfelderBearbeitenInnenabstand()

    Dim shp As Word.Shape
   
    For Each shp In ActiveDocument.Shapes
        Select Case shp.Type
            Case msoTextBox, msoAutoShape
                shp.TextFrame.MarginLeft = CentimetersToPoints(1.5)
                shp.TextFrame.MarginTop = CentimetersToPoints(1.5)
        End Select
    Next shp

End Sub

Die Angabe MarginLeft legt den inneren Abstand links fest, MartinTop den inneren Abstand oben. Die Angabe muss allerdings in Punkt erfolgen, wenn Du also schreibst:
Code:
shp.TextFrame.MarginLeft = 5

werden 5 Punkte genommen. Um es in Zentimetern auszudrücken, siehe oben die Funktion CentimetersToPoints. Dabei muss das Dezimalkomma als Punkt eingegeben werden. Obige Angabe heißt also 1,5 cm (was zugegebenermaßen einigermaßen dämlich aussieht, ist jetzt wirklich nur zum Test).

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
skelo
Excel-Bastler (ohne VBA)


Verfasst am:
12. Mai 2009, 08:07
Rufname:


AW: Markieren von allen Textfelder in einem Dokument - AW: Markieren von allen Textfelder in einem Dokument

Nach oben
       Version: Office XP (2002)

Hallo Lisa,

wie alle Tipps und Hilfen von dir, hat es auch dieses Mal wieder wunderbar funktioniert.

Vielen herzlichen Dank.

Sascha
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Word Dokument Serienbriefvorlage 2 Biland 109 14. Feb 2014, 16:10
Biland Word Dokument Serienbriefvorlage
Keine neuen Beiträge Word Serienbriefe: Automatisiertes Dokument erstellen 2 Prease 224 20. Nov 2013, 14:43
Prease Automatisiertes Dokument erstellen
Keine neuen Beiträge Word Serienbriefe: Serienbrief mit Quelle aus dem Selben Dokument 4 Muecke.1982 325 07. Jan 2013, 17:54
Muecke1982 Serienbrief mit Quelle aus dem Selben Dokument
Keine neuen Beiträge Word Serienbriefe: Mehrere Datensätze aus excel in ein Dokument 2 Synapse 830 14. Jan 2012, 23:49
Synapse Mehrere Datensätze aus excel in ein Dokument
Keine neuen Beiträge Word Serienbriefe: Serienbriefe/Platzrahmenhalter/Textbausteine/Textfelder etc. 0 Flyingoeschi 1133 19. Jul 2011, 13:40
Flyingoeschi Serienbriefe/Platzrahmenhalter/Textbausteine/Textfelder etc.
Keine neuen Beiträge Word Serienbriefe: Seriendruck in neues Dokument - 2 Datensätze fehlen 2 GASTvgb 2468 05. Aug 2010, 16:55
Andreas_g Seriendruck in neues Dokument - 2 Datensätze fehlen
Keine neuen Beiträge Word Serienbriefe: Word Textfelder - if Verknüpfung 5 napo 3893 13. Jun 2010, 16:27
napo Word Textfelder - if Verknüpfung
Keine neuen Beiträge Word Serienbriefe: Word Serienbrief Dokument Namen zuweisen 3 SR-EP 1722 07. Dez 2009, 13:25
charlybrown Word Serienbrief Dokument Namen zuweisen
Keine neuen Beiträge Word Serienbriefe: Word Dokument mit Datenbank verknüpfen (ähnlich Serienbrief) 3 Greenkeeper 4653 04. Dez 2009, 17:36
charlybrown Word Dokument mit Datenbank verknüpfen (ähnlich Serienbrief)
Keine neuen Beiträge Word Serienbriefe: Adressen aus Office tabellen dokument in dokument einfügen 1 Anna-L. 1218 15. Nov 2009, 21:42
charlybrown Adressen aus Office tabellen dokument in dokument einfügen
Keine neuen Beiträge Word Serienbriefe: Einfügen versch. Adressen aus einer Datenqu. in ein Dokument 9 Gast 921 04. Nov 2009, 15:02
charlybrown Einfügen versch. Adressen aus einer Datenqu. in ein Dokument
Keine neuen Beiträge Word Serienbriefe: Makro ausführen bei Seriendruck in neues Dokument 1 websven 3359 09. Okt 2009, 09:51
klein-artur Makro ausführen bei Seriendruck in neues Dokument
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA