1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Moombas

Beiträge von Moombas

  • Outlookex Schriftgröße ändern

    • Moombas
    • 5. Februar 2024 um 08:15

    Ich persönlich würde exakt prüfen lassen ob jede erforderliche Software auf dem Linux-System laufen würde (zum Preis vom Office 2021 sage ich jetzt nix, da kommt man noch weiter drunter :P).
    Besonders auf die Zukunft gesehen. Auch eine W11 Lizenz (wenn überhaupt erforderlich und nicht einfach per Upgrade machbar) ist nicht sonderlich teuer (Quicksearch: 9-20€ für die Pro Version).

    Ich denke das es insbesondere bei der Branchensoftware zu Problemen kommen könnte.

    Ansonsten viel Spaß ;)

  • Community Projekt: Teil 1 - Interesse an einem gemeinsamen größeren (Software)Projekt?

    • Moombas
    • 1. Februar 2024 um 09:49
    Zitat von water

    Moombas
    Hast Du Dir dazu schon die Advanced Help im deutschen bzw. englischen Forum angesehen?

    Yep, was ich meine ist aber eher etwas, was auf einem (Standardisierten) Kommentarfeld + Ordnerstrucktur (wegen der examples) basiert und das dann halt dynamsich zusammen baut ohne jeweils eine helpfile erstellen zu müssen.

  • Community Projekt: Teil 2 - Umgang mit Discord, Git, GitHub, gemeinsamen Tooling

    • Moombas
    • 31. Januar 2024 um 15:58

    SOLVE-SMART : Macht keinen Unterschied, gilt für beides :D Und macht nix das du nachfragen musstest ;)

  • Community Projekt: Teil 1 - Interesse an einem gemeinsamen größeren (Software)Projekt?

    • Moombas
    • 31. Januar 2024 um 15:17

    Ich nutze AutoIt aktuell hauptsächlich um Tasks abzuarbeiten (Massenumstellung von Konfigurationen auf Windows PC's oder per AP request in Management Cloud Systemen) oder um Minitools zu schreiben um z.B. CSV Dateien im bestimmten Format zu erzeugen um damit dann wieder eine CLoud/Programm zu füttern, die keine API hat.

    Allerdings starte ich das meiste davon wiederum von einem selbstgeschriebenen Management Tool (non AutoIt). Ob das nun eurerseits allerdings unter "Abarbeitung" von Fällen fällt, weiß ich nicht.
    Daher weiß ich nicht in wie fern ich dann helfen könnte.

  • Community Projekt: Teil 2 - Umgang mit Discord, Git, GitHub, gemeinsamen Tooling

    • Moombas
    • 31. Januar 2024 um 15:09

    Also Discord ist bekannt und wird genutzt, wenn auch in anderem Context normalerweise :P

    Git ist für mich, zumindest was das aktive arbeiten damit betrifft, Neuland aber wäre eine Chance hier auch wieder was dazu zu lernen wie man es richtig nutzt/implementiert. Bisher nur genutzt um das was dort zur Verfügung gestellt wurde zu nutzen für andere Sachen :P

  • Community Projekt: Teil 1 - Interesse an einem gemeinsamen größeren (Software)Projekt?

    • Moombas
    • 30. Januar 2024 um 10:45

    Hmm, ich denke für sowas bin ich bei vielen Sachen leider raus.

    Da haben andere hier schneller/besseren Code vorzuweisen wenn es um bestimmte Sachen geht.
    Wenn ich an der ein oder anderen Stelle jedoch unterstützen kann, gerne.
    Das kommt dann auch stark darauf an auf was dann abgezielt wird.

    Schön wäre es ja, wenn es was ist, was auch mit AutoIt zu tun hat (Erweitertes Hilfe Tool um auch non default UDF dynamisch abzubilden oder so).

  • Outlookex Schriftgröße ändern

    • Moombas
    • 23. Januar 2024 um 10:17

    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.

  • Outlookex Schriftgröße ändern

    • Moombas
    • 23. Januar 2024 um 10:06

    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:

    AutoIt
    Opt('MustDeclareVars', 1)
    
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    #include <String.au3>
    #include <OutlookEX.au3>
    
    ; Zum Testen bitte Mailadresse und den Outlook Ordner "*\\Paketversand\" ändern
    
    Global $AlleArtikel, $FontSize = 15
    Global Const $Cols = 4, $Rows = 6
    Global $arr[$Rows][$Cols] = [["Artikel Nr.", "Stückzahl", "Text", "Größe"]]
    
    For $i = 1 to $Rows - 1
    	$arr[$i][0]  =   "1"
    	$arr[$i][1]  =   "10"
    	$arr[$i][2]  =   "Schrauben"
    	$arr[$i][3]  =   "M10"
    Next
    ;~ $AlleArtikel = _ArrayToString($arr, "  " )
    
    $FontSize = $FontSize / 11
    $AlleArtikel = '<table style="font-size:' & $FontSize & 'em"><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>'
    
    
    Global $oOutlook = _OL_Open()
    	If @error <> 0 Then Exit MsgBox(16, "OutlookEX UDF", "Error creating a connection to Outlook. @error = " & @error & ", @extended = " & @extended)
    	_OL_Wrapper_SendMail($oOutlook, 'anything@anything.com', '', '', 'Dein Betreff', $AlleArtikel, '', $olFormatHTML, Default)
    	_OL_Close($oOutlook)
    Alles anzeigen
  • Outlookex Schriftgröße ändern

    • Moombas
    • 23. Januar 2024 um 07:55

    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.

  • Outlookex Schriftgröße ändern

    • Moombas
    • 22. Januar 2024 um 13:59

    Ich weiß nicht ob man die Defaultschriftgröße ggf. über Outlook ermitteln lassen kann. water weißt du das ggf.?

    Bei mir passt das halt zu meiner Recherche mit Schriftgröße 11:
    image.png

  • Outlookex Schriftgröße ändern

    • Moombas
    • 22. Januar 2024 um 13:41

    Das geht auch mit der Funktion dann am einfachsten.

    Hier mal das Beispiel mit der korrekten Tabelle:

    AutoIt
    Opt('MustDeclareVars', 1)
    
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    #include <String.au3>
    #include <OutlookEX.au3>
    
    ; Zum Testen bitte Mailadresse und den Outlook Ordner "*\\Paketversand\" ändern
    
    Global $AlleArtikel
    Global Const $Cols = 4, $Rows = 6
    Global $arr[$Rows][$Cols] = [["Artikel Nr.", "Stückzahl", "Text", "Größe"]]
    
    For $i = 1 to $Rows - 1
    	$arr[$i][0]  =   "1"
    	$arr[$i][1]  =   "10"
    	$arr[$i][2]  =   "Schrauben"
    	$arr[$i][3]  =   "M10"
    Next
    ;~ $AlleArtikel = _ArrayToString($arr, "  " )
    
    $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>'
    
    
    _SendMail('anything@anything.com', 'Test', 'Ordner', True, 15, 11)
    
    
    Func _SendMail(Const $To, Const $Subject, Const $MailFolder, Const $ReadMail = True, $FontSize = 7, Const $DefaultFontsize = 11)
    	; Outlook öffnen
    Local $oOutlook = _OL_Open()
    	If @error <> 0 Then Return MsgBox(16, "OutlookEX UDF", "Error creating a connection to Outlook. @error = " & @error & ", @extended = " & @extended)
    	; Ordner wählen (hier den Mailordner einfügen) "Paketversand"
    Local $aFolder = _OL_FolderAccess($oOutlook, "*\\" & $MailFolder & "\", $olFolderInbox)
    	If @error <> 0 Then Return MsgBox(16, "OutlookEX UDF", "Error accessing PST. @error = " & @error & ", @extended = " & @extended)
    
    	; hier "[UnRead]=False" = alle gelesene Mails im Ordner - "[UnRead]=True" = alle ungelesene
    Local $aItems = _OL_ItemFind($oOutlook, $aFolder[1], $olMail, "[UnRead]=" & $ReadMail, "", "", "EntryID,Subject,Body", "", 1)
    
    	; Erstelle das E-Mail-Element
    	$FontSize = $FontSize / $DefaultFontsize
    Local $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "*\\" & $MailFolder & "\", "", _
    	"Subject=" & $Subject, "BodyFormat=" & $olFormatHTML, 'HTMLBody= <p style="font-size:' & $FontSize & 'em">' & $AlleArtikel & "</p>", "To=" & $To)
    
    	; Sende die Mail
    	_OL_ItemSend($oOutlook, $oItem)
    	If @extended = -2147352567 Then _
    	Return MsgBox(16, "OutlookEX UDF - Example Script", "You don't have permission to send the mail on behalf of the specified person!")
    
    	; Outlookverbindung beenden
    	_OL_Close($oOutlook)
    	Return True
    EndFunc
    Alles anzeigen

    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.

  • Outlookex Schriftgröße ändern

    • Moombas
    • 22. Januar 2024 um 13:14

    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?

  • Outlookex Schriftgröße ändern

    • Moombas
    • 22. Januar 2024 um 13:03

    Nebenbei festgestellt beim Testen: Wenn Werte übergeben werden, womit Outlook nix anfangen kann wird immer die Default Schriftgröße genommen.

  • Outlookex Schriftgröße ändern

    • Moombas
    • 22. Januar 2024 um 11:52

    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):

    AutoIt
    Opt('MustDeclareVars', 1)
    
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    #include <String.au3>
    #include <OutlookEX.au3>
    
    ; Zum Testen bitte Mailadresse und den Outlook Ordner "*\\Paketversand\" ändern
    
    Global $AlleArtikel
    Global $arr[6][4] = [["Artikel Nr.", "Stückzahl", "Text", "Größe"]]
    
    For $i = 1 to 5
    	$arr[$i][0]  =   "1"
    	$arr[$i][1]  =   "10"
    	$arr[$i][2]  =   "Schrauben"
    	$arr[$i][3]  =   "M10"
    Next
    $AlleArtikel = _ArrayToString($arr, "  " )
    
    _SendMail('anything@anything.com', 'Dein Betreff', 'Ordner', True, 2)
    
    
    Func _SendMail(Const $To, Const $Subject, Const $MailFolder, Const $ReadMail = True, Const $FontSize = 7)
    	; Outlook öffnen
    Local $oOutlook = _OL_Open()
    	If @error <> 0 Then Return MsgBox(16, "OutlookEX UDF", "Error creating a connection to Outlook. @error = " & @error & ", @extended = " & @extended)
    	; Ordner wählen (hier den Mailordner einfügen) "Paketversand"
    Local $aFolder = _OL_FolderAccess($oOutlook, "*\\" & $MailFolder & "\", $olFolderInbox)
    	If @error <> 0 Then Return MsgBox(16, "OutlookEX UDF", "Error accessing PST. @error = " & @error & ", @extended = " & @extended)
    
    	; hier "[UnRead]=False" = alle gelesene Mails im Ordner - "[UnRead]=True" = alle ungelesene
    Local $aItems = _OL_ItemFind($oOutlook, $aFolder[1], $olMail, "[UnRead]=" & $ReadMail, "", "", "EntryID,Subject,Body", "", 1)
    
    	; Erstelle das E-Mail-Element
    Local $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "*\\" & $MailFolder & "\", "", _
    	"Subject=" & $Subject, "BodyFormat=" & $olFormatHTML, "HTMLBody= <font size=" & $FontSize & ">" & $AlleArtikel & "</font>", "To=" & $To)
    
    	; Sende die Mail
    	_OL_ItemSend($oOutlook, $oItem)
    	If @extended = -2147352567 Then _
    	Return MsgBox(16, "OutlookEX UDF - Example Script", "You don't have permission to send the mail on behalf of the specified person!")
    
    	; Outlookverbindung beenden
    	_OL_Close($oOutlook)
    	Return True
    EndFunc
    Alles anzeigen

    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!):

    AutoIt
    Opt('MustDeclareVars', 1)
    
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    #include <String.au3>
    #include <OutlookEX.au3>
    
    ; Zum Testen bitte Mailadresse und den Outlook Ordner "*\\Paketversand\" ändern
    
    Global $AlleArtikel
    Global $arr[6][4] = [["Artikel Nr.", "Stückzahl", "Text", "Größe"]]
    
    For $i = 1 to 5
    	$arr[$i][0]  =   "1"
    	$arr[$i][1]  =   "10"
    	$arr[$i][2]  =   "Schrauben"
    	$arr[$i][3]  =   "M10"
    Next
    $AlleArtikel = _ArrayToString($arr, "  " )
    
    _SendMail('anything@anything.com', 'Dein Betreff', 'Ordner', True, 15, 11)
    
    
    Func _SendMail(Const $To, Const $Subject, Const $MailFolder, Const $ReadMail = True, $FontSize = 7, Const $DefaultFontsize = 11)
    	; Outlook öffnen
    Local $oOutlook = _OL_Open()
    	If @error <> 0 Then Return MsgBox(16, "OutlookEX UDF", "Error creating a connection to Outlook. @error = " & @error & ", @extended = " & @extended)
    	; Ordner wählen (hier den Mailordner einfügen) "Paketversand"
    Local $aFolder = _OL_FolderAccess($oOutlook, "*\\" & $MailFolder & "\", $olFolderInbox)
    	If @error <> 0 Then Return MsgBox(16, "OutlookEX UDF", "Error accessing PST. @error = " & @error & ", @extended = " & @extended)
    
    	; hier "[UnRead]=False" = alle gelesene Mails im Ordner - "[UnRead]=True" = alle ungelesene
    Local $aItems = _OL_ItemFind($oOutlook, $aFolder[1], $olMail, "[UnRead]=" & $ReadMail, "", "", "EntryID,Subject,Body", "", 1)
    
    	; Erstelle das E-Mail-Element
    	$FontSize = $FontSize / $DefaultFontsize
    Local $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "*\\" & $MailFolder & "\", "", _
    	"Subject=" & $Subject, "BodyFormat=" & $olFormatHTML, 'HTMLBody= <p style="font-size:' & $FontSize & 'em">' & $AlleArtikel & "</p>", "To=" & $To)
    
    	; Sende die Mail
    	_OL_ItemSend($oOutlook, $oItem)
    	If @extended = -2147352567 Then _
    	Return MsgBox(16, "OutlookEX UDF - Example Script", "You don't have permission to send the mail on behalf of the specified person!")
    
    	; Outlookverbindung beenden
    	_OL_Close($oOutlook)
    	Return True
    EndFunc
    Alles anzeigen
  • Outlookex Schriftgröße ändern

    • Moombas
    • 22. Januar 2024 um 11:30

    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)?

  • Wildcards in Verbindung mit ShellExecute

    • Moombas
    • 19. Januar 2024 um 10:41

    Ein Beispiel Anhand der Hilfe zusammengeklöppelt:

    AutoIt
    Opt('MustDeclareVars', 1)
    #include <MsgBoxConstants.au3>
    
    Example()
    
    Func Example()
    Local Const $Path = @Scriptdir & "\Dokumente\2023\"
            ; Assign a Local variable the search handle of all files in the current directory.
            Local $hSearch = FileFindFirstFile($Path & "230124_FA_*.pdf")
    
            ; Check if the search was successful, if not display a message and return False.
            If $hSearch = -1 Then
                    MsgBox($MB_SYSTEMMODAL, "", "Error: No files/directories matched the search pattern.")
                    Return False
            EndIf
    
            ; Assign a Local variable the empty string which will contain the files names found.
            Local $sFileName = "", $iResult = 0
    
            While 1
                    $sFileName = FileFindNextFile($hSearch)
                    ; If there is no more file matching the search.
                    If @error Then ExitLoop
                    
                    ShellExecute($Path & $sFileName)
            WEnd
    
            ; Close the search handle.
            FileClose($hSearch)
    EndFunc   ;==>Example
    Alles anzeigen
  • Wildcards in Verbindung mit ShellExecute

    • Moombas
    • 19. Januar 2024 um 10:34

    Nochmal: Mach es doch einfach via FileFindFirstFile() und FileFindNextFile() "suchen" und dann per Shellexecute öffnen. Da können Wildcards verwendet werden. (Hilfe beachten)

  • Wildcards in Verbindung mit ShellExecute

    • Moombas
    • 19. Januar 2024 um 10:00

    Ich denke nicht, du musst die Dateien mit FileFindFirstFile() und FileFindNextFile() "suchen" und einzeln öffnen.
    Aber als Endergebnis denke ich das der Nutzer keinen Unterschied merken sollte.

  • TableData - effizientere Arbeit mit tabellenstrukturierten Daten

    • Moombas
    • 18. Januar 2024 um 12:34

    War auch nur eine Idee.

    Man könnte sich für sowas dann auch selber einen kleinen Wrapper bauen, der das dann eben so macht :)

    Your UDF, your rules ;)

  • TableData - effizientere Arbeit mit tabellenstrukturierten Daten

    • Moombas
    • 18. Januar 2024 um 11:38

    Sieht erstmal passend aus, wobei ich das als optionaler Parameter bei _td_fromArray sehen würde, also:

    Function _td_fromArray($aArray, ???, $Primarykey = False, $vPrimaryColumn = 0)

    Sprich: In der Funktion _td_fromArray dann wenn $Primarykey true ist am Ende auch _td_dataByPrimaryKey ausführen mit $vPrimaryColumn als 2. Parameter.
    Wird es nicht angegeben, wird es nicht ausgeführt und nicht gebraucht.

    Aber als Rückgabe würde ich dann auch erwarten, das er Aufruf $mData.Anna.salary wäre (sonst halt wie gehabt bei dir vorher). Geht das? Müsste doch eigentlich.

    Aber ansonsten fast 1:1 getroffen und respekt bei der schnellen Umsetzung.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™