Outlookex Schriftgröße ändern

  • Moin zusammen,

    Erst einmal ein Dankeschön an water für die tolle Umsetzung der Outlookex.

    Jetzt zu meiner Frage?

    Gibt es eine Möglichkeit die Schriftgröße im Body zu ändern.

    Ich schreibe das Script für einen Kollegen der schwer Sehbehindert ist.



    Ich würde mich freuen wenn sich jemand meldet und mir hilft.

    Viele Grüße

    Werner

  • Hallo Werner,

    zunächst mal, außerhalb einer Funktion wird nicht "Local" definiert, sondern "Global", das empfehle ich schon mal zu ändern (oder das ganze in eine Funktion zu packen).

    Zu deiner Frage: In Zeile 37 steht "font size", den Wert schon mal angepasst (von 7 auf z.B. 12)?

  • Das Script ist auch nur zum Testen. (Global / Local)

    Zum Ablauf folgendes:

    Der Kollege bekommt aus seinem Shop eine Mail mit einer neuen Bestellung.

    Ich soll jetzt die Mail auslesen und die Artikelnummern der Bestellung sortieren.

    Eine neue Mail senden mit der geänderten Textgröße.

    Der Shopinstaller kann es nicht, oder ist nicht bereit das zu ändern.

    Die Mail ist nicht nur klein geschrieben, sondern auch noch ganz dünn, das ich schon Schwierigkeiten habe sie zu lesen.

    Die Mail ist deshalb mit seiner Sehbehinderung nicht zu lesen.

    Ich kann leider keine Original Daten einstellen.

    Gruß Werner

  • Also bei mir funktionierts.

    Habe es zum Testen und für mehr Flexibilität aber in eine Funktion gepackt (Font Size 7 resultierte bei mir in Schriftgröße 36, font size 2 in Schriftgröße 10):

    Edit:

    Falls du die Schriftgröße in meinem Beispielcode lieber in px oder em angeben magst, Zeile 37 wie folgt ändern (als Beispiel):
    "Subject=" & $Subject, "BodyFormat=" & $olFormatHTML, 'HTMLBody= <p style="font-size:' & $FontSize & 'px">' & $AlleArtikel & "</p>", "To=" & $To)
    "Subject=" & $Subject, "BodyFormat=" & $olFormatHTML, 'HTMLBody= <p style="font-size:' & $FontSize & 'em">' & $AlleArtikel & "</p>", "To=" & $To)

    Ich würde em nutzen, da dies dann auf der Default Schriftgröße basiert, sprich 1em = (in meinem Fall) Schriftgröße 11 in Outlook, wobei 2em dann natürlich Größe 22 ist und 1.5 in 16,5 resultiert. Das wäre somit berechenbar.

    Hier daher ein abgewandeltes Beispiel mit Angabe der realen Schriftgröße (funktioniert nur wenn man die Defaultschriftgröße kennt und angibt!):

    7 Mal editiert, zuletzt von Moombas (22. Januar 2024 um 13:50)

  • Probier mal:

    "HTMLBody=<font size=7>" (ohne Leerzeichen)

    oder

    'HTMLBody=<font size="7">' die Schriftgröße in Anführungszeichen

  • Habe gerade festgestellt auf Outlook 2007 funktioniert es nicht.

    Auf Laptop mit Outlook 2021 geht beides.

    Super vielen Dank euch beiden.

    Nur aus Interesse

    Code
    Func _BoolToStr($bBool)

    was bedeutet das?

    Muss ich das Array zeilenweise auslesen um es tabellarisch zu gestalten.

    Gruß Werner

  • Weiß ich nicht, dafür ist die Funktion nicht da ;)

    Die Funktion ist im Beipiel mit drin und macht nur aus einem True (als Bool) ein True als Text/String bzw. aus einem False (Bool) ein False (String). Sonst würde das 1 bzw. 0 im String ergeben und somit nicht das was man braucht.
    Braucht man in AutoIt nicht XD

    Um eine Tabelle darzustellen, musst du dich html bedienen denke ich.

    Ich schaue kurz ob ich da was bauen kann, ich nehme an anstatt des Textes?

    2 Mal editiert, zuletzt von Moombas (22. Januar 2024 um 13:50)

  • Super Jetzt weiß ich genau so viel wie vorher

    als Anfänger im hohen Alter.

    Aber wir belassen es so, die Hauptsache es läuft so.

    Zitat

    Falls du die Schriftgröße in meinem Beispielcode lieber in px oder em angeben magst, Zeile 37 wie folgt ändern (als Beispiel):
    "Subject=" & $Subject, "BodyFormat=" & $olFormatHTML, 'HTMLBody= <p style="font-size:' & $FontSize & 'px">' & $AlleArtikel & "</p>", "To=" & $To)
    "Subject=" & $Subject, "BodyFormat=" & $olFormatHTML, 'HTMLBody= <p style="font-size:' & $FontSize & 'em">' & $AlleArtikel & "</p>", "To=" & $To)

    Ich wollte eine Gui machen, wo er sich es selbst die Größe einstellen kann.

  • Das geht auch mit der Funktion dann am einfachsten.

    Hier mal das Beispiel mit der korrekten Tabelle:

    Du musst halt ihm die Schriftgröße über die GUI auswählen lassen und den Wert hier anstelle der 15 übergeben: _SendMail('anything@anything.com', 'Test', 'Ordner', True, 15, 11)
    Ersetze hierbei die 11 mit der Default Schriftgröße (fix im Script). An die Funktion Übergibst du 1. Den EMpfänger, 2. Den Betreff, 3. Der Mailordner, 4. gelesene/ungelesene Mails per True/False, 5. gewünschte Schriftgröße (lt. Outlook) 6. die Defaultschriftgröße in Outlook

    Ergebnis:
    :

    Vergess die Funktion BoolToStr, AutoIt macht das von selbst XD Ich hatte das von einer anderen Programmiersprache noch so drin das selber machen zu müssen. Hab es daher mal überall raus genommen um Verwirrung zu vermeiden.

    2 Mal editiert, zuletzt von Moombas (22. Januar 2024 um 13:51)

  • Ich habe hier große Probleme mit::?:

    Wie kann ich die Spalten verschieben?


    $AlleArtikel = '<table><tr>'
    For $Col = 0 to $Cols - 1
    $AlleArtikel &= '<th>' & $arr[0][$Col] & '</th>'
    Next
    $AlleArtikel &= '</tr>'

    For $Row = 1 to $Rows - 1
    $AlleArtikel &= '<tr>'
    For $Col = 0 to $Cols - 1
    $AlleArtikel &= '<td>' & $arr[$Row][$Col] & '</td>'
    Next
    $AlleArtikel &= '</tr>'
    Next
    $AlleArtikel &= '</table>'

  • Was meinst du mit verschieben?

    Das erstellt eine einfache HTML Tabelle (https://www.w3schools.com/html/html_tables.asp) dynamisch je nachdem wieviele Spalten/Zeilen vorhanden sind.
    Für weitere Anpassungen (an welcher Position sie auftauchen soll etc.) musst du HTML code hinzufügen/ändern.

    Ich bin aber wirklich kein Experte dafür daher weiß ich nicht ob ich dir dabei helfen kann, würde es aber versuchen.

    Wie wäre es mit einem Bild oder Beispiel hier im Forum mit der Anordnung, wie du es haben willst.
    Das muss dann halt in HTML umgesetzt werden.

  • Hallo Moombas

    habs jetzt geschnallt das es HTML ist.

    In meinem Alter brauch man ein bisschen länger.

    Ich habe ein neues Problem!

    War gestern bei meinem Kollegen, er hat noch Office 2003.

    Wahrscheinlich wird es damit nicht funktionieren (glaube mal sowas gelesen zu haben).

    Ich mache eine Testscript und probiere es damit.

    Ich melde mich wieder sobald ich mehr weiß.

    Vorerst vielen Dank für deine Mühe.

    Gruß Werner

  • Schau dir ggf. mal die Funktion _OL_Wrapper_SendMail an, die ist Bestandteil von der UDF und kann glaube ich mehr als das was ich dir bisher zusammengeschustert habe ()muss dann nur anders verpackt werden).
    Wäre dann in etwa so:

    2 Mal editiert, zuletzt von Moombas (23. Januar 2024 um 10:12)

  • Die Wrapper-Funktionen meiner UDFs können meist weniger, da sie ja dazu gedacht sind, die einfachsten Anwendungsfälle mit einem einfachen Befehl abzudecken.

  • In diesem Fall nicht unbedingt, da sie alles liefert was er braucht (soweit ich sehe). Der Rest passiert ja im HTML, der so oder so komplett generiert werden muss.