Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Ausgabebreite von Zeichen



Excel-Version: 10.0 (Office XP)

Betrifft: Ausgabebreite von Zeichen
von: dirk
Geschrieben am: 11.06.2002 - 13:18:12

Hallo!
Erstmal die Frage: Kann jemand in Excel/Word, in Abhängigkeit von aktueller Schriftgröße und -art, die zu druckende Zeichenbreite berechnen????

Grund:
Ich muss in einem anderen Programm eine rechtsbündgie Ausgabe realisieren. Diese wird so nicht mitgeliefert.
Ich benötige daher die Breite, mit der das jeweilige Zeichen gedruckt wird.
Bisher bin ich so verfahren, dass ich mir von einem Makro alle 255 ASCII Zeichen jeweils 50 mal habe drucken lassen. Anschliessend hab ich dann mit Lineal gemessen. Ist nicht doll aber es geht - mit viel, viel Aufwand.

Vielen Dank schon mal im Voraus
Dirk



  

Re: Ausgabebreite von Zeichen
von: Rolf, Lgh.
Geschrieben am: 11.06.2002 - 18:59:00

Hallo Dirk,
vielleicht hilft Dir das weiter:
https://www.herber.de/mailing/000297h.htm
und:

Sub Spaltenbreite()
  Dim breite As Single, aktuell As Single, text As String, antwort As String
  aktuell = (Selection.ColumnWidth + 0.71) / 5.1425
  text = "Aktuelle Spaltenbreite: " & Format(aktuell, "###0.00 cm") & Chr(13) & "Geben Sie die gewünschte Spaltenbreite für die aktuelle Spalte oder Markierung in cm ein:"
  antwort = InputBox(text, "Neue Spaltenbreite festlegen", Format(aktuell, "###0.00"))
  If antwort <> "" Then
    breite = CSng(antwort)
    Selection.ColumnWidth = -0.71 + 5.1425 * breite
  End If
End Sub

und:
https://www.herber.de/cgi-bin/searchstruct.pl?begriff=CSng
Gruß Rolf
  

Re: Ausgabebreite von Zeichen
von: dirk
Geschrieben am: 11.06.2002 - 21:36:08

Hi Rolf,
Dein Macro klappt schon ganz gut, aber mein Problem trifft es leider nicht ganz.

Wenn ich eine Proportionalschrift (z.B. ARIAL oder TIMES NR) verwende
und z.B. ein "A" tippe, dann rücken doch Excel/Word den Cursor um die
dem "A" spezifische Breite nach rechts. Sie müssen also die aktuelle
Zeichenbreite des "A" kennen.
Jetzt möchte ich quasi hergehen, und mir den ganzen ASCII-Zeichensatz
in einer Spalte ausgeben lassen (=ZEICHEN(i)). In der nächsten Spalte
müsste dann die entsprechende Zeichenbreite berechnet werden.
Daraufhin könnte ich dann die Schrift umstellen, und das ganze könnte von vorne starten.

Danke nochmals
Dirk


 

Beiträge aus den Excel-Beispielen zum Thema "Ausgabebreite von Zeichen"