Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

für Leerzeichen in einer (!) Wordzeile den Schriftgrad um einen Punkt verringern
#1
Moin,

aus Formatierungsgründen möchte ich in mehrzeiligen Fließtexten (Word 2007) relativ häufig für Leerzeichen in einer (!) Wordzeile den Schriftgrad um je einen Punkt verringern. Das hat dann zur Folge, dass dann doch noch das ganze (vorher getrennte) Wort auf diese Zeile passt o. ä.

Bis jetzt markiere ich nacheinander jedes einzelne Leerzeichen und verkleinere über Strg+< den Schriftgrad um 1, 2 oder 3. Je nach dem, wie viel Platz ich in der Zeile gewinnen muss. Da ich das häufiger, und immer wieder mache, ist das mit der Zeit nervig.

Ich würde mich freuen, wenn diese Aufhabe ein Makro übernehmen könnte. Da brauche ich allerdings Hilfe. Das schaffe ich nicht allein.

Im Voraus vielen Dank für Eure Mühe.

Michael
Antworten Top
#2
Hast Du schon überlegt, dazu mal ein Makro aufzuzeichnen?
LG Torsten
Antworten Top
#3
(12.11.2016, 22:41)Torsten schrieb: Hast Du schon überlegt, dazu mal ein Makro aufzuzeichnen?

Guten Morgen Torsten,

ja, habe ich auch schon probiert.

1. Ausgangspunkt vor Makro-Lauf: Cursor muss in der Zeile stehen, in der die Leerzeichen verkleinert werden soll.
2. Mit "Pos1" zum Zeilenanfang gehen
3. Mit "Shift+Cursor nach unten" Zeile markieren

Jetzt fangen die Probleme an:
- zuerst müssten die Leerzeichen gezählt werden
- dann müsste von Leerzeichen zu Leerzeichen gesprungen und es selbst markiert werden (hier dachte ich an "Strg+Cursor nach rechts" - geht aber nicht, wenn beispielsweise Klammern in der Zeile stehen)
- nun müsste entsprechend der Anzahl der Leerzeichen ein Loop vollführt werden.

Herzliche Grüße

Michael
Antworten Top
#4
Eine Idee zum Weiterkommen könnte sein: Bei Suchen und Ersetzen kann man beim Ersetzen die Schriftgröße auch für Leerzeichen verändern.
Nicht optimal, aber könnte es für Dich deutlich bequemer machen.
LG Torsten
Antworten Top
#5
(13.11.2016, 12:13)Torsten schrieb: Eine Idee zum Weiterkommen könnte sein: Bei Suchen und Ersetzen kann man beim Ersetzen die Schriftgröße auch für Leerzeichen verändern.
Nicht optimal, aber könnte es für Dich deutlich bequemer machen.
Danke Torsten,

Hab ich mal ohne Makro getestet. Das Ersetzen von Leerzeichen mit Schriftgrad 11 Punkt durch Leerzeichen mit Schriftgrad 10 Punkt funktioniert. Aber oft reich dieser Platzgewinn nicht aus. Und für jede Leerzeichen-Schriftgrad-Konfigartion braucht man dann ein einzelnes separates Makro. Das scheint leider auch keine praktikable Lösung zu sein.

Danke aber für Deine Idee.

Gruß Michael
Antworten Top
#6
Hallo,

Zitat:Hab ich mal ohne Makro getestet. Das Ersetzen von Leerzeichen mit Schriftgrad 11 Punkt durch Leerzeichen mit Schriftgrad 10 Punkt
funktioniert. Aber oft reich dieser Platzgewinn nicht aus. Und für jede Leerzeichen-Schriftgrad-Konfigartion braucht man dann ein
einzelnes separates Makro. Das scheint leider auch keine praktikable Lösung zu sein.

... ein Makro ließe sich aber auch so programmieren, daß man das Vorhaben auch in mehreren Stufen kleiner stellen kann.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#7
1. Ausgangspunkt vor Makro-Lauf: Cursor muss in der Zeile stehen, in der die Leerzeichen verkleinert werden soll.
2. Mit "Pos1" zum Zeilenanfang gehen
3. Mit "Shift+Cursor nach unten" Zeile markieren
(13.11.2016, 14:39)Käpt schrieb: Hallo,


... ein Makro ließe sich aber auch so programmieren, daß man das Vorhaben auch in mehreren Stufen kleiner stellen kann.

Danke Dir für Deine Antwort.

Das wäre schön, mit der MAKRO-Aufnahmefunktion bekomme ich das nicht hin.

Vielleicht könnte es so funktionieren:

1. Ausgangspunkt vor Makro-Lauf: Cursor muss in der Zeile stehen, in der die Leerzeichen verkleinert werden soll.
2. Mit "Pos1" zum Zeilenanfang gehen
3. Mit "Shift+Cursor nach unten" Zeile markieren
4. Schriftgrad feststellen, Variable s
5. Alle Leerzeichen mit Schriftgrad s-1 formatieren
6. Frage: Sollen die Leerzeichen weiter verkleinert werden --> nein, dann Programm beenden; --> ja, dann weiter
7. Alle Leerzeichen mit Schriftgrad s-2 formatieren
6. Frage: Sollen die Leerzeichen weiter verkleinert werden --> nein, dann Programm beenden; --> ja, dann weiter
7. Alle Leerzeichen mit Schriftgrad s-3 formatieren
8. Beenden (mehr Verkleinerungen machen meist keinen Sinn)

Und wenn man dieses Makro schreiben und auf die Symbolleiste für den Schnellzugriff legen könnte, dann wäre es perfekt.

Und genau dafür weiß ich von VBA viel zu wenig und die Makro-Aufzeichnungsfunktion bekomme ich nicht so gebogen.

Herzlich Grüße

Michael
Antworten Top
#8
Hallo,

Zitat:Und genau dafür weiß ich von VBA viel zu wenig und die Makro-Aufzeichnungsfunktion bekomme ich nicht so gebogen.

... dann zeichne mal Dein Makro auf und stelle es hier ein. Am liebsten die Datei selbst. Dann sehen wir weiter.

Daß Du das nicht so lauffähig aufzeichnen kannst, so wie Du es gerne laufen haben würdest, das ist mir schon klar.
Das könnte ich auch nicht, weil der Makrorecorder so nicht arbeitet. Aber Grundlegendes läßt sich daraus schon ersehen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste