hi mega,
der quelltext mal im anhang!
habe die version von dir mal reinkopiert!
gruß gmmg
hi mega,
der quelltext mal im anhang!
habe die version von dir mal reinkopiert!
gruß gmmg
Hallo Marcel gmmg.
Also das Thema ist echt gut.
Ich bin gerade am überlegen, wie ich Inhalt aus einem Ordner via EMail zustelle, sobald mehr als fünf Dateien in diesem Ordner sind.
Da kommt mir Dein Beitrag echt recht, wenn auch nur für die Anpassungs zur Datensendung via Email.
Gruss, Lina.
hi alina
das freut mich!
ich suche noch eine lösung, wie ich die combobox auf den standardwert zurücksetze,
einen zähler, der bei jedem drücken der tastenkombination, um 1 hochzählt! wenn 5 mal gedrückt, soll kein weiteres drücken möglich sein und eine meldung ausgegeben werden!
gruß gmmg
Also ich glaube das mit dem hoch zählen bis fünf sollte über eine *.ini zu lösen sein.
schau nach dem aktuellen wert der ini (ini lesen) und durch eine Schleife den ausgelesenen Wert verarbeiten. Zuvor oder als erster Arbeitsschritt den Wert um eines erhöhen, bzw. wenn die 5 erreicht ist, die Aktionsausführung "sperren", bis die Aktionen 1-5 abgearbeitet und dann den Wert in der ini wieder auf null setzen. Oder wenn eine Aktion erfolgreich ausgeführt wurde, das dann automatisch sich der Wert der ini um 1 verringert.
Aber hier müßtest Du wohl viel über die INI-Datei lesen und schauen wie man das ganze unsetzen kann. Ich erstelle mir dafür immer eine Zeichnung. Gerade bei den Schleifen (z. B. If/Elseif/Else), mache ich mir "Papiergedanken". Kennt man doch mit "Ja / Nein-Entscheidungen". Das hilft und so gehe ich sehr oft vor.
Bin auf den weiteren VErlauf gespannt.
Gruss, Lina.
alina,
habe mir auch schon gedanken gemacht! man könnte bei jedem drücken der tastenkombi auch einen wert in ein array oder in eine datei speichern und wieder auslesen, wenn dann z.b. wert = 5 dann funktion sperren und msgbox ausgeben!
na mal sehen ob ich die tage dazu komme!
muss morgen erstmal bei unserem DHCP server die bereiche für die verteilung neu einstellen und noch paar ip telefone konfigurieren und in betrieb nehmen
na zwischendurch habe ich bestimmt mal bissl zeit!
gruß gmmg
Hallo Marcel.
Also ich habe auch viel zu tun und mal sehen wann ich da mal zu komme, aber ich arbeite Schritt für Schritt.
Mal sehen wann es weiter geht.
Gruss, Lina.
Hi,
so funktioniert es bei mir:
#include
#include
#include
#include
;#include
HotKeySet("^{F4}", "Capture_start") ;Strg-F4
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=g:\programme_tools\koda_2007.06.09\forms\mailer.kxf
GUICreate("Backoffice Tool 1.0 ", 446, 526, 347, 129)
GUICtrlCreateLabel("STRG + F4 drücken, um Screenshot zu erzeugen!", 24, 464, 238, 17)
$sendMail_B = GUICtrlCreateButton("Mail senden", 288, 472, 137, 33, 0)
GUICtrlCreateLabel("Button drücken um Mail zu versenden!", 56, 488, 186, 17)
$Input2 = GUICtrlCreateInput(@UserName, 136, 88, 289, 21)
$Combo3 = GUICtrlCreateCombo("", 136, 120, 289, 21)
GUICtrlSetData(-1, " |IT|Telefonbuchung")
$Input4 = GUICtrlCreateInput("", 136, 152, 289, 21)
GUICtrlCreateLabel("Bitte alle Felder ausfüllen!", 24, 16, 160, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("Portal:", 24, 64, 34, 17)
GUICtrlCreateLabel("Expedient:", 24, 96, 54, 17)
GUICtrlCreateLabel("Buchungsquelle:", 24, 128, 83, 17)
GUICtrlCreateLabel("E-Mailadresse des KD:", 24, 160, 111, 17)
GUICtrlCreateLabel("Zus. Fax | Tel. des KD:", 24, 192, 112, 17)
$Input5 = GUICtrlCreateInput("", 136, 184, 289, 21)
GUICtrlCreateLabel("Zahlungsart:", 24, 224, 63, 17)
$Combo1 = GUICtrlCreateCombo("", 136, 56, 289, 25)
GUICtrlSetData(-1, " |5vorflug.com|5vorflug.de|abocard|bayerntourismus|bcviva|bigxtra|bigxtra.at|bkk|bonprix|bonusferien|budni|dgb|drivefti|flcounter|flieg-ab-basel|fliegen.com|flugbazar|flugbörse|flugbörse rb|fly.de|fly.de gt|fly.de ifa|fly.de sk|fly.de modular sk|fly.de modular big|fly.de zo|flycalabria|fti|fti.at|fti-ferienwelt|gardenresort|gloeckle|hamburgtravel|happydays|kloppenburg|lal|lidlreisen|maxxtravel|mcflight|monorama|myselect|nexgentravel|o2|OT-ERFstadt|rabattferien|rot-weiss-urlaub|schwinges|s-erlebniswelten|skTV-FremdCC|skTV-Rb7723|skTV-Rb7783|skTV-Rb7816|skTV-Rb7838|skTV-Rb7845|skTV-Rb7856|skTV-Rb7916|skTV-Rb7931|skTV-Rb7989|skTV-Rb7991|skTV-Rb8078|skTV-Rb8093|SkTV-Rb8107|skTV-Rb8204|skTV-Rb8232|skTV-Rb8240|skTV-Rb8241|skTV-Rb8281|skTV-Rb8280|skTV-Rb8272|skTV-Rb8295|skTV-Rb8310|skTV-Rb8339|skTV-Rb8357|skTV-Rb8410|skTV-Rb8432|skTV-Rb8508|skTV-Rb8554|skTV-Rb8556|sonnenklarTV|sonnenklarTV web|Sonstiges|tv14|tvmovie|weltbild.at|weltbild.de")
$Combo2 = GUICtrlCreateCombo("", 136, 216, 289, 25)
GUICtrlSetData(-1, " |Veranstalterinkasso|Veranstalterinkasso - Kreditkarte|Agenturinkasso - Überweisung|Agenturinkasso - Laschrift")
GUICtrlCreateLabel("Sonstige Notizen:", 24, 288, 87, 17)
$Edit1 = GUICtrlCreateEdit("", 24, 312, 401, 137)
GUICtrlSetData(-1, "")
GUICtrlCreateLabel("Status der Buchung:", 24, 256, 101, 17)
$Combo4 = GUICtrlCreateCombo("", 136, 248, 289, 25)
GUICtrlSetData(-1, " |Buchung|Option|Anfrage")
$Checkbox1 = GUICtrlCreateCheckbox("Dringend", 136, 288, 193, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;##################################
; Variables
;##################################
$s_SmtpServer = "mail.gmx.net" ; address for the smtp-server to use - REQUIRED
$s_FromName = @UserName ;@UserName ; name from who the email was sent
$s_FromAddress = "XXXX" ; address from where the mail should come
$s_ToAddress = "XXXX" ; destination address of the email - REQUIRED
$s_Subject = "xxxxxx " ; subject from the email - can be anything you want it to be$s_CcAddress = "steuerung@ostteam.de"
$as_Body = @CRLF & @CRLF & "MfG" & @CRLF & @UserName; the messagebody from the mail - can be left blank but then you get a blank mail
;$s_AttachFiles = "C:\Dokumente und Einstellungen\marcel.graf.OSTTEAM\Eigene Dateien\screenshot\screenshot_1.jpg;C:\Dokumente und Einstellungen\marcel.graf.OSTTEAM\Eigene Dateien\screenshot\screenshot_2.jpg" ; the file you want to attach- leave blank if not needed
;$s_AttachFiles = $a1&";"&$a2 ; the file you want to attach- leave blank if not needed
$s_CcAddress = "" ; address for cc - leave blank if not needed
$s_BccAddress = " "
$s_Username = "XXXX" ; username for the account used from where the mail gets sent - Optional (Needed for eg GMail)
$s_Password = "XXXX" ; password for the account used from where the mail gets sent - Optional (Needed for eg GMail)
$IPPort = 25 ; port used for sending the mail
$ssl = 0
;-------begin username auflösen----
;$user = _ADSamAccountNameToFQDN(@UserName)
;$user_split = StringSplit($user, ",")
;$user_split1 = StringSplit($user_split[1], "=")
;$username = $user_split1[2]
[/autoit] [autoit][/autoit] [autoit];~ ;MsgBox(0,"","Hallo " & $username & "," &@CRLF & "das Tool wird gestartet!" ,3)
;-------ende username auflösen----
;-------------------------------------
;HotKeySet("^{F4}", "Capture_start") ;Strg-F4
;HotKeySet("^{F9}") ;Strg-F9
;HotKeySet("{PRINTSCREEN}", "Capture_start")
;HotKeySet("+!d", "Capture_start") ;Shift-Alt-d
;--------------------------------------
Global $re_A, $username = @UserName
;--function dateien in array lesen--
Func _getFilePathes($sPath, $sFilter = '(*.*)', $iFlag = 0)
Local $FileList = _FileListToArray($sPath, $sFilter, $iFlag)
If @error Then Return (@error * (-1))
Local $re_A = ''
For $i = 1 To UBound($FileList) - 1
$re_A &= $sPath & '\' & $FileList[$i] & ';'
Next
Return StringTrimRight($re_A, 1)
EndFunc ;==>_getFilePathes
$t1 = "----------------------------------------------" & @CRLF
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $sendMail_B
;######################################
; checkbox1 auf wert prüfen
;######################################
If GUICtrlRead($Checkbox1, $GUI_CHECKED) = $GUI_CHECKED Then
$cb1 = GUICtrlRead($Checkbox1, $GUI_CHECKED)
Else
$cb1 = GUICtrlRead($Checkbox1, $GUI_UNCHECKED) = $GUI_UNCHECKED
EndIf
If $cb1 = False Then
$cba1 = GUICtrlRead($Checkbox1, $GUI_CHECKED)
Else
$cba1 = " "
EndIf
;-------------------------------
;inhalt prüfen
;-------------------------------
$i2 = GUICtrlRead($Input2)
$i4 = GUICtrlRead($Input4)
$i5 = GUICtrlRead($Input5)
$cbo1 = GUICtrlRead($Combo1)
$cbo2 = GUICtrlRead($Combo2)
$cbo3 = GUICtrlRead($Combo3)
$cbo4 = GUICtrlRead($Combo4)
$edit = GUICtrlRead($Edit1)
;---------------------------------------
; mailbody
;---------------------------------------
$mbody = ($t1 & "Portal: " & @CRLF & $cbo1 & @CRLF & $t1 & _
"Expedient: " & @CRLF & $i2 & @CRLF & $t1 & "Buchungsquelle: " & _
@CRLF & $cbo3 & @CRLF & $t1 & "E-Mailadresse des KD: " & @CRLF & $i4 & _
@CRLF & $t1 & "Zus. Fax | Tel. des KD: " & @CRLF & $i5 & @CRLF & $t1 & _
"Zahlungsart: " & @CRLF & $cbo2 & @CRLF & $t1 & "Status der Buchung: " & _
@CRLF & $cbo4 & @CRLF & $t1 & "Sonstige Notizen: " & @CRLF & $edit & @CRLF & $t1)
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
;--dateien in array lesen
$re = _getFilePathes(@MyDocumentsDir & "\mail_screenshot", '*.jpg')
_ArrayDisplay($re)
;##################################
; Script
;##################################
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $re, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl)
If @error Then
MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc)
EndIf
EndSwitch
WEnd
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
$objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
If FileExists($S_Files2Attach[$x]) Then
$objEmail.AddAttachment($S_Files2Attach[$x])
Else
$i_Error_desciption = $i_Error_desciption & @LF & 'File not found to attach: ' & $S_Files2Attach[$x]
SetError(1)
Return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $ssl Then
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Sent the Message
$objEmail.Send
If @error Then
SetError(2)
Return $oMyRet[1]
EndIf
EndFunc ;==>_INetSmtpMailCom
; Com Error Handler
Func MyErrFunc()
$HexNumber = Hex($oMyError.number,
$oMyRet[0] = $HexNumber
$oMyRet[1] = StringStripWS($oMyError.description, 3)
ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF)
SetError(1); something to check for when this function returns
Return
EndFunc ;==>MyErrFunc
;screenshot files löschen
FileDelete(@MyDocumentsDir & "\mail_screenshot\*.*")
;GUICtrlSetData($Input2, "")
;GUICtrlSetData($Combo1, "")
;GUICtrlSetData($Combo2, " |Veranstalterinkasso|Veranstalterinkasso - Kreditkarte|Agenturinkasso - Überweisung|Agenturinkasso - Laschrift")
;GUICtrlSetData($Combo4, "")
GUICtrlSetData($Input4, "")
GUICtrlSetData($Input5, "")
GUICtrlSetData($Edit1, "")
ControlCommand("", "Dringend", $Checkbox1, "UnCheck", "")
$s_AttachFiles = ""
; function capture screenshot
Func Capture_start()
; Capture full screen
If FileExists(@MyDocumentsDir & "\mail_screenshot") Then
;MsgBox(4096, "C:\autoexec.bat File", "Exists")
Else
;MsgBox(4096,"C:\autoexec.bat File", "Does NOT exists")
DirCreate(@MyDocumentsDir & "\mail_screenshot")
EndIf
;FileDelete(@MyDocumentsDir & "\Printscreen*.*"
_ScreenCapture_Capture(@MyDocumentsDir & "\mail_screenshot\screenshot_" & @HOUR & @MIN & @SEC & ".jpg")
MsgBox(0, "", "Screenshot erstellt!", 1)
EndFunc ;==>Capture_start
Func IsMemberOf($group, $user)
If StringLeft($group, 3) <> "CN=" Then
$group = "CN=" & $group
EndIf
Dim $usergroups[1], $i = 1
Dim $objConnection, $oUsr
$objConnection = ObjCreate("ADODB.Connection") ; Create COM object to AD
$objConnection.Provider = "ADsDSOObject"
$objConnection.Open("Active Directory Provider") ; Open connection to AD
$objRootDSE = ObjGet("LDAP://RootDSE")
Global $strDNSDomain = $objRootDSE.Get("defaultNamingContext") ; Retrieve the current AD domain name
$strQuery = ";(sAMAccountName=" & $user & ");ADsPath;subtree"
$objRecordSet = $objConnection.Execute($strQuery) ; Retrieve the FQDN for the logged on user
$ldap_entry = $objRecordSet.fields(0).value
$oUsr = ObjGet($ldap_entry) ; Retrieve the COM Object for the logged on user
$groups = $oUsr.groups ; Get the list of group objects from the user
For $groupname In $groups
If $groupname.name = $group Then Return 1
Next
Return 0
EndFunc ;==>IsMemberOf
So long,
Mega
</LDAP:></adfunctions.au3></File.au3></ScreenCapture.au3></GUIConstants.au3></Array.au3>
Welche AutoIt Version nutzt Du. Habe mit Deinem Tool versucht das was Du zum Schluß gepostest hast, aber die Includes findet er nicht
LG, Lina.
Hi Alina,
das ist ein Forumproblem. So sehen die includes bei mir aus:
#include<Array.au3>
#include<GUIConstants.au3>
#include<ScreenCapture.au3>
#include<File.au3>
;#include <adfunctions.au3>
So long,
Mega
guten morgen mega,
deine version funktioniert soweit sehr gut,
wenn aber kein scrennshot vorhanden ist und ich klicke auf senden, dann kommt folgende fehlermeldung:
"Error Code:1 Description:0"
desweiteren, werden die files nach versenden aus dem ordner nicht gelöscht und es kommt bei $mbody die fehlermeldung:
==> Variable used without being declared.:
$as_Body = $mbody
das gleiche bei $s_Subject = "xxxxxx " & $cba1
steht die definition dieser an falscher stelle im quelltext?
gruß gmmg
Hi,
das "Error Code:1 Description:0" gucke ich mir mal an.
Das 2te. Ich habe die Variablen nach oben kopiert. Alle Variablen sollten dort angelegt werden.
So long,
Mega
hi mega,
danke erstmal für deine mühe
habe das jetzt so umgebaut, das meine zusammengesetzten variablen auch wieder funktionieren!
#include
#include
#include
#Include
#include
HotKeySet("^{F4}", "Capture_start") ;Strg-F4
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=g:\programme_tools\koda_2007.06.09\forms\mailer.kxf
GUICreate("Backoffice Tool 1.0 ", 446, 526, 347, 129)
GUICtrlCreateLabel("STRG + F4 drücken, um Screenshot zu erzeugen!", 24, 464, 238, 17)
$sendMail_B = GUICtrlCreateButton("Mail senden", 288, 472, 137, 33, 0)
GUICtrlCreateLabel("Button drücken um Mail zu versenden!", 56, 488, 186, 17)
$Input2 = GUICtrlCreateInput(@UserName, 136, 88, 289, 21)
$Combo3 = GUICtrlCreateCombo("", 136, 120, 289, 21)
GUICtrlSetData(-1, " |IT|Telefonbuchung")
$Input4 = GUICtrlCreateInput("", 136, 152, 289, 21)
GUICtrlCreateLabel("Bitte alle Felder ausfüllen!", 24, 16, 160, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("Portal:", 24, 64, 34, 17)
GUICtrlCreateLabel("Expedient:", 24, 96, 54, 17)
GUICtrlCreateLabel("Buchungsquelle:", 24, 128, 83, 17)
GUICtrlCreateLabel("E-Mailadresse des KD:", 24, 160, 111, 17)
GUICtrlCreateLabel("Zus. Fax | Tel. des KD:", 24, 192, 112, 17)
$Input5 = GUICtrlCreateInput("", 136, 184, 289, 21)
GUICtrlCreateLabel("Zahlungsart:", 24, 224, 63, 17)
$Combo1 = GUICtrlCreateCombo("", 136, 56, 289, 25)
GUICtrlSetData(-1, " |5vorflug.com|5vorflug.de|abocard|bayerntourismus|bcviva|bigxtra|bigxtra.at|bkk|bonprix|bonusferien|budni|dgb|drivefti|flcounter|flieg-ab-basel|fliegen.com|flugbazar|flugbörse|flugbörse rb|fly.de|fly.de gt|fly.de ifa|fly.de sk|fly.de modular sk|fly.de modular big|fly.de zo|flycalabria|fti|fti.at|fti-ferienwelt|gardenresort|gloeckle|hamburgtravel|happydays|kloppenburg|lal|lidlreisen|maxxtravel|mcflight|monorama|myselect|nexgentravel|o2|OT-ERFstadt|rabattferien|rot-weiss-urlaub|schwinges|s-erlebniswelten|skTV-FremdCC|skTV-Rb7723|skTV-Rb7783|skTV-Rb7816|skTV-Rb7838|skTV-Rb7845|skTV-Rb7856|skTV-Rb7916|skTV-Rb7931|skTV-Rb7989|skTV-Rb7991|skTV-Rb8078|skTV-Rb8093|SkTV-Rb8107|skTV-Rb8204|skTV-Rb8232|skTV-Rb8240|skTV-Rb8241|skTV-Rb8281|skTV-Rb8280|skTV-Rb8272|skTV-Rb8295|skTV-Rb8310|skTV-Rb8339|skTV-Rb8357|skTV-Rb8410|skTV-Rb8432|skTV-Rb8508|skTV-Rb8554|skTV-Rb8556|sonnenklarTV|sonnenklarTV web|Sonstiges|tv14|tvmovie|weltbild.at|weltbild.de")
$Combo2 = GUICtrlCreateCombo("", 136, 216, 289, 25)
GUICtrlSetData(-1, " |Veranstalterinkasso|Veranstalterinkasso - Kreditkarte|Agenturinkasso - Überweisung|Agenturinkasso - Laschrift")
GUICtrlCreateLabel("Sonstige Notizen:", 24, 288, 87, 17)
$Edit1 = GUICtrlCreateEdit("", 24, 312, 401, 137)
GUICtrlSetData(-1, "")
GUICtrlCreateLabel("Status der Buchung:", 24, 256, 101, 17)
$Combo4 = GUICtrlCreateCombo("", 136, 248, 289, 25)
GUICtrlSetData(-1, " |Buchung|Option|Anfrage")
$Checkbox1 = GUICtrlCreateCheckbox("Dringend", 136, 288, 193, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;-------begin username auflösen----
$user = _ADSamAccountNameToFQDN(@UserName)
$user_split = StringSplit($user, ",")
$user_split1 = StringSplit($user_split[1], "=")
$username = $user_split1[2]
[/autoit] [autoit][/autoit] [autoit];~ ;MsgBox(0,"","Hallo " & $username & "," &@CRLF & "das Tool wird gestartet!" ,3)
;-------ende username auflösen----
;-------------------------------------
;HotKeySet("^{F4}", "Capture_start") ;Strg-F4
;HotKeySet("^{F9}") ;Strg-F9
;HotKeySet("{PRINTSCREEN}", "Capture_start")
;HotKeySet("+!d", "Capture_start") ;Shift-Alt-d
;--------------------------------------
Global $re_A, $username = @UserName, $mbody, $cba1
;--function dateien in array lesen--
Func _getFilePathes($sPath, $sFilter = '(*.*)', $iFlag = 0)
Local $FileList = _FileListToArray($sPath, $sFilter, $iFlag)
If @error Then Return (@error * (-1))
Local $re_A = ''
For $i = 1 To UBound($FileList) - 1
$re_A &= $sPath & '\' & $FileList[$i] & ';'
Next
Return StringTrimRight($re_A, 1)
EndFunc ;==>_getFilePathes
$t1 = "----------------------------------------------" & @CRLF
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $sendMail_B
;######################################
; checkbox1 auf wert prüfen
;######################################
If GUICtrlRead($Checkbox1, $GUI_CHECKED) = $GUI_CHECKED Then
$cb1 = GUICtrlRead($Checkbox1, $GUI_CHECKED)
Else
$cb1 = GUICtrlRead($Checkbox1, $GUI_UNCHECKED) = $GUI_UNCHECKED
EndIf
If $cb1 = False Then
$cba1 = GUICtrlRead($Checkbox1, $GUI_CHECKED)
Else
$cba1 = " "
EndIf
;-------------------------------
;inhalt prüfen
;-------------------------------
$i2 = GUICtrlRead($Input2)
$i4 = GUICtrlRead($Input4)
$i5 = GUICtrlRead($Input5)
$cbo1 = GUICtrlRead($Combo1)
$cbo2 = GUICtrlRead($Combo2)
$cbo3 = GUICtrlRead($Combo3)
$cbo4 = GUICtrlRead($Combo4)
$edit = GUICtrlRead($Edit1)
;---------------------------------------
; mailbody
;---------------------------------------
$mbody = ($t1 & "Portal: " & @CRLF & $cbo1 & @CRLF & $t1 & _
"Expedient: " & @CRLF & $i2 & @CRLF & $t1 & "Buchungsquelle: " & _
@CRLF & $cbo3 & @CRLF & $t1 & "E-Mailadresse des KD: " & @CRLF & $i4 & _
@CRLF & $t1 & "Zus. Fax | Tel. des KD: " & @CRLF & $i5 & @CRLF & $t1 & _
"Zahlungsart: " & @CRLF & $cbo2 & @CRLF & $t1 & "Status der Buchung: " & _
@CRLF & $cbo4 & @CRLF & $t1 & "Sonstige Notizen: " & @CRLF & $edit & @CRLF & $t1)
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
;--dateien in array lesen
$re = _getFilePathes(@MyDocumentsDir & "\mail_screenshot", '*.jpg')
_ArrayDisplay($re)
;##################################
; Variables
;##################################
$s_SmtpServer = "10.*****" ; address for the smtp-server to use - REQUIRED
$s_FromName = @UserName ;@UserName ; name from who the email was sent
$s_FromAddress = @UserName & "@****.de" ; address from where the mail should come
$s_ToAddress = "test@*****.de" ; destination address of the email - REQUIRED
$s_Subject = "xxxxxx " & $cba1 ; subject from the email - can be anything you want it to be"
$as_Body = $mbody & @CRLF & @CRLF & "MfG" & @CRLF & $username; the messagebody from the mail - can be left blank but then you get a blank mail
;$s_AttachFiles = "C:\Dokumente und Einstellungen\*******Eigene Dateien\screenshot\screenshot_1.jpg;C:\Dokumente und Einstellungen\*********\Eigene Dateien\screenshot\screenshot_2.jpg" ; the file you want to attach- leave blank if not needed
;$s_AttachFiles = $a1&";"&$a2 ; the file you want to attach- leave blank if not needed
$s_CcAddress = "" ; address for cc - leave blank if not needed
$s_BccAddress = " "
$s_Username = "*****" ; username for the account used from where the mail gets sent - Optional (Needed for eg GMail)
$s_Password = "******" ; password for the account used from where the mail gets sent - Optional (Needed for eg GMail)
$IPPort = 25 ; port used for sending the mail
$ssl = 0 ; enables/disables secure socket layer sending - put to 1 if using httpS
;~ $IPPort=465 ; GMAIL port used for sending the mail
;~ $ssl=1 ; GMAILenables/disables secure socket layer sending - put to 1 if using httpS
;##################################
; Script
;##################################
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $re, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password, $IPPort, $ssl)
If @error Then
MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc)
EndIf
;screenshot files löschen
FileDelete(@MyDocumentsDir & "\mail_screenshot\*.*")
;GUICtrlSetData($Input2, "")
;GUICtrlSetData($Combo1, "")
;GUICtrlSetData($Combo4, "")
GUICtrlSetData($Input4, "")
GUICtrlSetData($Input5, "")
GUICtrlSetData($Edit1, "")
ControlCommand("", "Dringend", $Checkbox1, "UnCheck", "")
$s_AttachFiles = ""
EndSwitch
WEnd
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
$objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
If FileExists($S_Files2Attach[$x]) Then
$objEmail.AddAttachment($S_Files2Attach[$x])
Else
$i_Error_desciption = $i_Error_desciption & @LF & 'File not found to attach: ' & $S_Files2Attach[$x]
SetError(1)
Return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $ssl Then
$objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Sent the Message
$objEmail.Send
If @error Then
SetError(2)
Return $oMyRet[1]
EndIf
EndFunc ;==>_INetSmtpMailCom
; Com Error Handler
Func MyErrFunc()
$HexNumber = Hex($oMyError.number,
$oMyRet[0] = $HexNumber
$oMyRet[1] = StringStripWS($oMyError.description, 3)
ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF)
SetError(1); something to check for when this function returns
Return
EndFunc ;==>MyErrFunc
; function capture screenshot
Func Capture_start()
; Capture full screen
If FileExists(@MyDocumentsDir & "\mail_screenshot") Then
;MsgBox(4096, "C:\autoexec.bat File", "Exists")
Else
;MsgBox(4096,"C:\autoexec.bat File", "Does NOT exists")
DirCreate(@MyDocumentsDir & "\mail_screenshot")
EndIf
;FileDelete(@MyDocumentsDir & "\Printscreen*.*"
_ScreenCapture_Capture(@MyDocumentsDir & "\mail_screenshot\screenshot_" & @HOUR & @MIN & @SEC & ".jpg")
MsgBox(0, "", "Screenshot erstellt!", 1)
EndFunc ;==>Capture_start
Func IsMemberOf($group, $user)
If StringLeft($group, 3) <> "CN=" Then
$group = "CN=" & $group
EndIf
Dim $usergroups[1], $i = 1
Dim $objConnection, $oUsr
$objConnection = ObjCreate("ADODB.Connection") ; Create COM object to AD
$objConnection.Provider = "ADsDSOObject"
$objConnection.Open("Active Directory Provider") ; Open connection to AD
$objRootDSE = ObjGet("LDAP://RootDSE")
Global $strDNSDomain = $objRootDSE.Get("defaultNamingContext") ; Retrieve the current AD domain name
$strQuery = ";(sAMAccountName=" & $user & ");ADsPath;subtree"
$objRecordSet = $objConnection.Execute($strQuery) ; Retrieve the FQDN for the logged on user
$ldap_entry = $objRecordSet.fields(0).value
$oUsr = ObjGet($ldap_entry) ; Retrieve the COM Object for the logged on user
$groups = $oUsr.groups ; Get the list of group objects from the user
For $groupname In $groups
If $groupname.name = $group Then Return 1
Next
Return 0
EndFunc ;==>IsMemberOf
habe den fehler, wenn keine datei vorhanden, auch noch nicht beheben können!
wie kann ich nach dem mailversand, das formular zurücksetzen, ausgewählte einträge einer combobox u.a ?
gruß gmmg
</adfunctions.au3></Array.au3></GUIConstants.au3></ScreenCapture.au3></File.au3>
Hi,
änder die Funktion in diese
[autoit]Func _getFilePathes($sPath, $sFilter = '(*.*)', $iFlag = 0)
Local $FileList = _FileListToArray($sPath, $sFilter, $iFlag)
If @error Then Return ''
Local $re_A = ''
For $i = 1 To UBound($FileList) - 1
$re_A &= $sPath & '\' & $FileList[$i] & ';'
Next
Return StringTrimRight($re_A, 1)
EndFunc ;==>_getFilePathes
So long,
Mega
hi mega,
funktioniert wunderbar!
weißt du zufällig, wie ich eine combobox, die mit koda erzeugt wurde, bei meinem beispiel nach drücken des buttons mailversand, auf den folgenden wert zurückgesetzt wird ? der wert soll der sein, der beim starten des scriptes auch vorhanden ist!
#Region ### START Koda GUI section ###
$Form1 = GUICreate("Backoffice Tool 1.0 ", 446, 526, 347, 129)
$Combo1 = GUICtrlCreateCombo("", 136, 120, 289, 21)
GUICtrlSetData($Combo1, " |Wert1|Wert2")
gruß gmmg
Hi,
schön! Hast du dir mal den 3 Parameter von GuiCtrlSetData angeguckt?
So long,
Mega
ja,
ich kann ja einen default wert einstellen! habe eine lösung gefunden! er hatte mir immer die einträge nochmal zusätzlich in die combo gelistet!
gruß gmmg