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. wuff100

Beiträge von wuff100

  • _OL_ItemFind selektierte Mail lesen

    • wuff100
    • 9. September 2018 um 19:57

    Nein, so passt es!

    Sieht nach 255 Stellen aus.

  • _OL_ItemFind selektierte Mail lesen

    • wuff100
    • 9. September 2018 um 19:15
    Zitat

    Da scheint's wirklich eine Begrenzung zu geben. Muss mal forschen, woran das liegt.

    Das wäre sehr schön...:)

    Sonst eine super UDF, die mir schon sehr viel geholfen hat. :klatschen:

    Mit anschließend "StringSplit" ist alles da.

  • _OL_ItemFind selektierte Mail lesen

    • wuff100
    • 9. September 2018 um 18:05

    Danke!

    Hatte ich schon probiert.

    Global $aItem = _OL_ItemGet($aResult[1][1])

    $aResult fehlte.;)

    Nur die Informationen vom "Body" den ich ja auslesen möchte, werden abgeschnitten und nicht vollständig in das Array geschrieben.

  • _OL_ItemFind selektierte Mail lesen

    • wuff100
    • 9. September 2018 um 12:56

    Es dauert im Verhältnis ziemlich lange, bis das Array mit den Daten erscheint.

    water, oder gibt es noch einen anderen weg? :)

  • _OL_ItemFind selektierte Mail lesen

    • wuff100
    • 9. September 2018 um 11:51

    water, vielen Dank!

    Das klappt schon mal.

    Nur wo füge ich die "EntryID" bei _OL_ItemFind ein, um meine Daten zu erhalten?:/

    Update:

    So müsste es funktionieren.

    Spoiler anzeigen

    Global $aItems = _OL_ItemFind($oOutlook, $aFolder[1], $olMail, "", "EntryID",$aResult[1][1], "EntryID,CreationTime,Sender,SenderEmailAddress,SenderName,SenderEmailType,Body")

  • _OL_ItemFind selektierte Mail lesen

    • wuff100
    • 8. September 2018 um 16:52

    Moin,

    water, ich versuche mit "_OL_ItemFind" nur aus  einer selektierten Mail den Inhalt in ein Array zu schreiben.

    Im unteren Beispiel "[UnRead]=True" sind es aber die ungelesenen, was auch gut funktioniert.


    Wie ist es möglich mit nur jeweils einer selektierten Mail ?


    Spoiler anzeigen

    Global $oOutlook = _OL_Open()

    Global $aFolder = _OL_FolderAccess($oOutlook, "", $olFolderInbox)

    Global $aItems = _OL_ItemFind($oOutlook, $aFolder[1], $olMail, "[UnRead]=True", "", "", "EntryID,CreationTime,Sender,SenderEmailAddress,SenderName,SenderEmailType,Body")

  • TreeViev von INI

    • wuff100
    • 10. Juli 2018 um 15:49

    Ja, vielen Dank! :)

    Oder so.....

    BugFix , danke, auch deine UDF ist sehr interessant und eröffnet viele Möglichkeiten.

    C
    #include <GUIConstantsEx.au3>
    #include <Array.au3>
    
    Global $hchildSek[10]
    Global $cache
    Global $cache1
    
    $Form1 = GUICreate("Form1", 301, 454, 192, 124)
    $TreeView1 = GUICtrlCreateTreeView(8, 216, 281, 169)
    
    $var = IniReadSectionNames(@ScriptDir & "\test.ini")
    If @error Then
        MsgBox(4096, "", "Kein INI File")
    Else
        For $i = 1 To $var[0]
            $hchildSek[$i] = GUICtrlCreateTreeViewItem($var[$i], $TreeView1)
    
            Dim $cache[0]
            Dim $cache1[0]
    
            $var2 = IniReadSection(@ScriptDir & "\test.ini", $var[$i])
            If Not @error Then
                For $j = 1 To $var2[0][0]
                    $search = _ArraySearch($cache, $var2[$j][0])
                    If $search <> -1 Then
                        GUICtrlCreateTreeViewItem($var2[$j][1], $cache1[$search])
                    Else
                        Local $2Ebene = GUICtrlCreateTreeViewItem($var2[$j][0], $hchildSek[$i])
                        GUICtrlCreateTreeViewItem($var2[$j][1], $2Ebene)
                        _ArrayAdd($cache, $var2[$j][0])
                        _ArrayAdd($cache1,$2Ebene)
                    EndIf
                Next
            EndIf
        Next
    EndIf
    GUISetState(@SW_SHOW)
    
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    WEnd
    Alles anzeigen
  • TreeViev von INI

    • wuff100
    • 10. Juli 2018 um 11:25

    @timee000, sorry es liegt an meiner Autoit Version 3.3.10.2.

    ArrayAdd erlaubt nur eindimensionales Array.:( Da das Projekt wofür ich es benötige sehr groß ist, kann ich es nicht auf die die aktuelle Autoit Version umstellen.

  • TreeViev von INI

    • wuff100
    • 9. Juli 2018 um 23:30

    Schaue dir doch mal "_ArrayAdd" an, wo es bei dir steht.;)

  • TreeViev von INI

    • wuff100
    • 9. Juli 2018 um 23:01

    Nein, genau richtig!

    Kannst du den von dir eingestellten Code nochmal überprüfen?

  • TreeViev von INI

    • wuff100
    • 9. Juli 2018 um 22:42

    Danke timee000, aber es funktioniert so nicht, der Lösungsweg ist eine gute Idee.:)

  • TreeViev von INI

    • wuff100
    • 9. Juli 2018 um 18:13
    C
    #include <GUIConstantsEx.au3>
    #include <Array.au3>
    
    Global $hchildSek[10]
    $Form1 = GUICreate("Form1", 301, 454, 192, 124)
    $TreeView1 = GUICtrlCreateTreeView(8, 216, 281, 169)
    
    $var = IniReadSectionNames(@ScriptDir & "\test.ini")
    If @error Then
        MsgBox(4096, "", "Kein INI File")
    Else
        For $i = 1 To $var[0]
            $hchildSek[$i] = GUICtrlCreateTreeViewItem($var[$i], $TreeView1)
    
            $var2 = IniReadSection(@ScriptDir & "\test.ini", $var[$i])
            If Not @error Then
                For $j = 1 To $var2[0][0]
                    Local $2Ebene = GUICtrlCreateTreeViewItem($var2[$j][0], $hchildSek[$i])
                    GUICtrlCreateTreeViewItem($var2[$j][1], $2Ebene)
                Next
            EndIf
        Next
    EndIf
    GUISetState(@SW_SHOW)
    
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    WEnd
    Alles anzeigen

    INI Datei

    Moin,

    ich erzeuge aus einer INI-Datei ein TreeView und habe folgendes Problem.

    In der INI gibt es 2 mal den den key "Test5" mit einen Ordner.

    Beide Ordner sollen aber imTreeView unter "Test5" liegen und nicht jeweils unter "Test5"

    Könnt ihr mir helfen?

    Gruß

  • _OL_ItemAttachmentGet, _OL_ItemAttachmentAdd

    • wuff100
    • 7. Juni 2018 um 16:25

    Erstmal vielen Dank für die Anregungen!

    Zitat

    Was machst Du genau mit dieser UDF ? Anhänge aus Mails ausziehen? Zu archivierungszwecken? Das thema intersiert mich ziemlich....


    Ja!

    1. entweder nur Anhänge

    2. Mail (*.msg) mit Anhängen separat

    3. Mail (*.msg)

    Lässt sich wunderbar mit _OL_ItemSave lösen. :)

  • _OL_ItemAttachmentGet, _OL_ItemAttachmentAdd

    • wuff100
    • 7. Juni 2018 um 10:35

    water, Danke!

    Ich kenne ihren Namen und ihre Größe ja nicht.

    Es kann ja auch ein *.jpg etc. als Anhang wichtig sein, was als Bild gespeichert werden soll. Wie soll ich das vorher filtern?

  • _OL_ItemAttachmentGet, _OL_ItemAttachmentAdd

    • wuff100
    • 7. Juni 2018 um 09:27

    Moin,

    water, ich lese per DragDrop die Anhänge mit deiner UDF, _OL_ItemAttachmentGet oder _OL_ItemAttachmentAdd, _OL_ItemSave auf einer GUI aus, und speicher die Anhänge.

    Das klappt auch prima!

    Einige Mails haben aber in der Signatur Bilder eingefügt. Diese werden als Anhang erkannt, die ich aber als Datei ja nicht möchte.

    Gibt es eine Möglichkeit die Bilder der Signatur auszusparen.

    Gruß

  • _OL_ItemAttachmentAdd($oOutlook, $oItem, Default, $aAttachments)

    • wuff100
    • 30. Mai 2018 um 12:44

    Da der Code 20000 Zeilen hat, kann ich dir nur den kurzen Auszug posten. Sorry :)

    Spoiler anzeigen

    Func sendemail($sAdresse, $sBetreff, $sNachrText, $sAnhang)

    If ProcessExists("outlook.exe") = 0 Then

    ShellExecute("outlook.exe") ; Wenn Outlook nicht gestartet, öffne Outlook

    EndIf

    Local $Betreff = GUICtrlRead($iSendmail_TXT)

    Global $oOutlook = _OL_Open()

    _OL_MailSignatureSet("entsel-2", "") ; in Outlook vorhandene Signatur

    $oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=" & $Betreff)

    Local $aRecipients ;empfänger_1

    Local $MailCC = GUICtrlRead($iST_Email_2) ;empfänger

    If $sAdresse <> "" Then

    $aRecipients = StringSplit($sAdresse, ";", 2)

    If $MailCC = "" Then

    _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $aRecipients)

    Else

    _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $aRecipients)

    _OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olCC, $MailCC)

    EndIf

    EndIf

    Local $aAttachments ;anhang

    If $sAnhang <> "" Then

    $aAttachments = StringSplit($sAnhang, ";", 2)

    ;~ _Arraydisplay($aAttachments)

    _OL_ItemAttachmentAdd($oOutlook, $oItem, Default, $aAttachments)

    If @error = 3 Then

    MsgBox(0 + 262144 + 64, "Fehler", "Eine Datei ist zum Versenden zu groß")

    Return

    EndIf

    If @error = 4 Then

    MsgBox(0 + 262144 + 64, "Fehler", "Eine Datei ist nicht vorhanden")

    Return

    EndIf

    EndIf

    ;Check wenn Mail versendet wird

    Global $oOApp = ObjCreate("Outlook.Application")

    Global $oItems = $oOApp.GetNamespace("MAPI").GetDefaultFolder($olFolderSentMail).Items

    Local $Event = ObjEvent($oItems, "oItems_")

    $oItem.BodyFormat = $olFormatHTML

    $oItem.GetInspector

    $sBody = $oItem.HTMLBody

    $oItem.HTMLBody = $sNachrText & $sBody

    _OL_MailSignatureSet("entsel-1", "entsel-1") ; zurückstellen auf Standard-Signatur

    Global $SendMailFile = $SaveAsMail & $Betreff & ".msg"

    If FileExists($SendMailFile) Then

    If 7 = MsgBox(4 + 262144 + 32, "Mail überschreiben", "Die Datei " & $Betreff & ".msg ist schon vorhanden." & @CRLF & @CRLF & "Soll sie überschrieben werden") Then ;nicht vorhanden

    MsgBox(0 + 262144 + 64, "Mail", "Bitte versuchen sie es erneut mit anderen Betreff")

    ExitLoop

    Else

    FileDelete($SendMailFile)

    Sleep(100)

    _OL_ItemSave($oOutlook, $oItem, Default, $SendMailFile, $olMSGUnicode)

    Sleep(100)

    $oItem.Display

    ExitLoop

    EndIf

    Else

    _OL_ItemSave($oOutlook, $oItem, Default, $SendMailFile, $olMSGUnicode)

    Sleep(100)

    $oItem.Display

    EndIf


    endFunc

  • _OL_ItemAttachmentAdd($oOutlook, $oItem, Default, $aAttachments)

    • wuff100
    • 30. Mai 2018 um 10:38

    Moin,

    water, ich versuche mit "_OL_ItemAttachmentAdd($oOutlook, $oItem, Default, $aAttachments)" in eine bereits vorhandene geöffnette Mail mit Anhang weitere Dateien zu addieren.

    Klappt aber leider nicht! :(

    Die Mail wird schon vorher mit deiner UDF geöffnet und Adresse, Betreff, Nachricht sowie Anhang einfügt.

    Ist es überthaupt möglich, oder gibt es einen anderen Weg?:/

    Gruß

  • Punkt in Inputbox filtern

    • wuff100
    • 18. April 2018 um 09:20

    Danke euch!:)

    autoiter, so klappt es!

    BugFix , es sind mehrere Inputboxen. Bei einigen ist es erlaubt, bei anderen nicht. Sonst auch eine gute Idee.

  • Punkt in Inputbox filtern

    • wuff100
    • 18. April 2018 um 08:43
    Spoiler anzeigen

    #include "InputFilter.au3"

    #include <EditConstants.au3>

    #include <GUIConstantsEx.au3>

    #include <WindowsConstants.au3>

    #Region ### START Koda GUI section ### Form=

    $Form1 = GUICreate("Form1", 615, 437, 192, 124)

    $Input1 = GUICtrlCreateInput("", 96, 80, 209, 21)

    GUICtrlInputSetFilter(-1, "InputFilter")

    GUISetState(@SW_SHOW)

    #EndRegion ### END Koda GUI section ###

    While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg

    Case $GUI_EVENT_CLOSE

    Exit

    EndSwitch

    WEnd


    Func InputFilter($sChr, $sStr)

    If StringRegExp($sStr,"^.") Then Return $INPUTFILTER_ALLOW

    If StringInStr(@CRLF, $sChr) Then Return $INPUTFILTER_SILENTDENY

    Return $INPUTFILTER_DENY

    EndFunc ;==>InputFilter

    Moin,

    könnt ihr mir helfen?:)

    ich versuche in einer Inputbox einen Punkt zu filtern. Also eine Punkteingabe ist nicht zulässig

    Gruß

  • Virus in *.EXE

    • wuff100
    • 25. März 2018 um 12:43
    Zitat

    Code einfach mitneuer Version kompilieren

    Das habe ich natürlich schon probiert, aber wie gesagt, aufgrund der vielen Excel Funktionen funktioniert es nicht.

    Habe schon einige Funktionen umgebaut. Ist aber meiner Meinung nach mit ExcelRead Range usw. für mich alles umfangreicher und nicht gerade besser geworden.

    Ich finde die alten Funktionen für mich übersichtlicher. :) Mag sein, dass man sich nur ein bisschen umstellen muss.

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™