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.

Spaltenbreite mit Office Script anpassen
#11
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ß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#12
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!
Antworten Top
#13
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ß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top


Gehe zu:


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