Automatische Anpassung der Schriftgröße bei Textfeldern/Tabellen

Adem67

Lieutenant
Registriert
Feb. 2008
Beiträge
526
Hallo,

es kann doch nicht sein, dass man so lange für eine so einfache Funktion suchen muss? Ich such schon seit zwei Stunden nach einer Lösung, kann aber keine funktionierende finden!

Ich möchte ein Textfeld haben, die je nach Textlänge die Schriftgröße ändert. Ich habe aber nur die Funktion gefunden, welche die Textfeldgröße dem Text anpasst.

Habt ihr eine Idee wie ich das realisieren kann?

Danke! :cool_alt:


EDIT: Ich kenn mich auch mit Makros aus. Gibt es eine Möglichkeit zu erkennen, ob ein Text das Feld überschritten hat oder schon mehr als eine Zeile besitzt?
 
Zuletzt bearbeitet:
Hi,

es wäre vielleicht hilfreich, wenn du uns noch mitteilst, um welches Programm es geht. Textfelder und Tabellen gibt es in vielen Programmen, und das gilt auch für die Makros!
 
Ups, hast natürlich Recht!

Es geht um MS Word 2003. Ich gebe die Hoffnung aber langsam auf. :(

Hintergrund ist dieser:

Ich habe eine Excel-Tabelle mit einer Eingabemaske. Die Werte werden in ein Word-Dokument exportiert. Im Hintergrund befindet sich ein eingescanntes Formularbild.

Jetzt hab ich die einzelnen Felder mit Textfeldern versehen. Der Text ist aber manchmal zu lang und wird einfach abgeschnitten. Jetzt hätte ich gerne, dass sich die Schriftgröße automatisch anpasst, wenn ein Text zu lang ist.

Vielleicht gibts ja auch andere Möglichkeiten!

Vielen vielen Dank!
 
Hi DivX,

Lösungsansatz "quick and dirty": Du zählst die Zeichen des Strings und wenn es denn mehr als x sind, dann wird die Schriftgröße je angefangene y Zeichen um 0,5 oder 1 erniedrigt. Das wird fast immer hinhauen, denn kaum jemand wird sinnvollen Text mit mur hanz breiten oder schalen Zeichen schreiben.

Ich würde aber schon in Excel ansetzen:
  • Die Eingabe alls einzigen Wert in eine Spalte
  • Optimale Spaltenbreite einstellen (lassen)

    Code:
      DO
         IF > x -> 1 Schriftgrad kleiner
         Breite <= x -> EXIT DO
      LOOP
  • Schriftgrad auslesen und entsprechend an Word mit übergeben
Das haut dann in jedem Fall korrekt hin.
 
Zuletzt bearbeitet:
Hallo,

die autom. Schriftgrößenanpassung funktioniert in Excel zwar, aber die eingestellt Schriftgröße bleibt immer gleich. Er skaliert also nur die Anzeige...

Die andere Möglichkeit gefällt mir nicht so, da jeder Buchstabe eine andere Breite besitzt. Trotzdem Dank!

Sonst noch andere Möglichkeiten?
 
Nö DivX,

Excel macht schon die Schriftgröße kleiner, wenn du es dem Proggi sagst (per VBA-Code zB).

Versuche es doch einmal von Hand, du wirst es sehen. :)

Also, noch einmal als Pseudo-Code:

Code:
MaxBreite=30
DO
 If BreiteDerZelle >30
    Schriftgrad_um_1_verkleinern
    OptimaleBreite_einstellen
 Else
    Exit Do
 End IF
LOOP
Schriftgroesse_feststellen
Text_und_Schriftgroesse_als_Argument_an_Word_übergeben

Das wird funzen!
 
Zuletzt bearbeitet:
Zurück
Oben