Clever-Excel-Forum

Normale Version: Spaltenbreite mit Office Script anpassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

Du musst Dir die Spaltenbreiten in Pixel anschauen. Dazu zwischen den Spaltenköpfen klicken, Maus festhalten und Du erhälst die Pixel in einem gelben Fenster.
Bspw. für Spaltenbreite 10 = 75 Pixel, 12 = 89 Pixel, 20 = 145 Pixel. Du siehst hier schon, dass das nicht proportional ist (20 entspricht nicht der doppelten
Anzahl der Pixel zur Breite 10). Erklärung, siehe meine Links oben, erster Beitrag von mir.

Wenn Du die Anzahl der Pixel für die gewünschte Excel-Spaltenbreite kennst, trägst Du in setColumnWidth ein Pixel_Anzahl * 0.75.

PHP-Code:
selectedSheet.getRange("A:A").getFormat().setColumnWidth(75 0.75); 

Gruß
Danke nochmals für eure Erklärungen, jetzt ist es auch in meiner analogen Birne angekommen.... Ich werd es versuchen, wie beschrieben, wir aber ein paar Tage dauern, wie gesagt, im Job brennt gerade übel der Baum!
Hallo,

@schauan: die Excel-Breite richtet sich ja nach der in Excel eingestellten Standart-Schriftart (siehe mein erster Link oben). In VBA kann
man ja schreiben Range(...).ColumnWidth = 20. Sprich, kein Problem. VBA kann somit interne Einstellungen ermitteln und umrechnen.

OfficeScripts hat kein Zugriff auf das System, tut aber mangels Dokumentation in diesem Fall so, als könnte es das. Das haut nicht hin.
Man muss also eine Pixelangabe so umrechnen, dass die Excel-Spaltenbreite rauskommt. Eben wegen der dynamischen Anpassung
durch Excel wird's komplizierter, um jetzt genau die Spaltenbreite zu erhalten (siehe Fall oben Breite 10 und Breite 20, nicht proportional).
Mit dem Faktor 0,75, wenn man die Pixel kennt, kommt man i.d.R. bei Windows gut hin (72 points/inch bei 96 pixel/inch, entspricht 0,75).

Gruß
Seiten: 1 2