Volltreffer!
Ich hatte tatsächlich GUICtrlSetData verwendet - Euer Ehren, ich bekenne mich schuldig!
Danke und SG, entsel
Volltreffer!
Ich hatte tatsächlich GUICtrlSetData verwendet - Euer Ehren, ich bekenne mich schuldig!
Danke und SG, entsel
Aha, mit Underliner
Danke Dir
entsel
Servus
So, ich hab das Progrämmchen in den Grundzügen fertig. Hab jetzt doch den Weg mit den Arrays genommen ...
Ein paar Sachen sind komisch vorgekommen - hab ich aber nicht weiter verfolgt. Möglicherweise hab ich selber Blödsinn g'macht, vielleicht is aber auch was dran?
robocopy "G:\2018\02" "F:\Sicherung\2018" /E /XC /XN /XO
Im Quell- Ordner sind 2 Dateien - diese werden nach F:\Sicherung\2018\ kopiert, der Ordner "02" aber wird nicht angelegt ??????
Wenn man nach jedem Kopiervorgang (filecopy) mit Dirsize den Zielordner abfragt, kommt irgendwann Blödsinn raus ????? Aktualisierung notwendig ????
Wie gesagt, ich brauchs nicht wirklich, aber wenn jemand was dazu sagen will ....
2 andere Fragen hätt ich auch noch, aber da mach ich lieber ein neues Thema auf - hier:
MsgBox - langer Text - Umbruch im Code ?
GUICtrlSetState(..., $GUI_DISABLE)
Danke, entsel
Servus
Wenn ich das Beispiel von Oskar von hier
GUICtrlSetBkColor auf Combo funktioniert nicht
$button_input = GUICtrlCreateButton("Mediatrix Mail erstellen", 190, 200, 120, 19)
GUICtrlSetState($button_input, $GUI_DISABLE)
bei mir so verwende, ändert sich die Beschriftung meines Buttons von "Fertig" auf "128" und er bleibt clickbar. Ich hätt's aber gern so wie bei Oskar, Button erst mal "ausgegraut".
Was mache ich falsch?
SG, entsel
Servus
Wie der Titel schon sagt - ich habe einige MsgBoxen mit langem Text, wobei der Umbruch in der Anzeige nicht das Problem ist => ... & @LF & ...
Ich würde aber gern den Code zwecks besserer Lesbarkeit auf mehrere Zeilen verteilen.
Geht das?
SG entsel
Also die Array-Limits sollten dann grad mal reichen ![]()
Zitatrobocopy "Z:\Quelle" "Z:\Ziel" /E /XC /XN /XO
Na klar, das is es.
Wie war das noch mit dem Wald und den Bäumen?
Danke an alle Beteiligten.
Eventuell habe ich später noch Fragen zum Thema Fortschrittsanzeige oder etwas in der Richtung (abhängig von Datenmenge - und meinem Ehrgeiz
.
Aber erst probier ich mal selber - bis die Fragen konkret sind.
SG entsel
Morgen Leute
Na, da hat sich ja noch einiges getan ...
Hab gestern noch kurz reing'schaut und mich etwas damit beschäftigt.
1. Das Auslesen der Ordner/Dateistruktur in ein Array ist mir gelungen. Gibt's da eigentlich ein Limit? Ich glaub, ich hab da mal was gelesen, find's aber nicht mehr. (Es könnten nämlich am Jahresende an die 2000 Ordner und Dateien auf der Karte sein)
2. Bei den neueren Beiträgen ab #12 ist - für mich - noch einiges neu und unbekannt - da brauch ich noch Zeit, um mich durchzuackern (aber die hab ich ja).
Vorerst mal Danke an alle Beteiligten.
Ich glaub, ich werde mal den 1. Weg weiter verfolgen, der ist für mich (vorerst) verständlicher bzw. leichter handlebar. Mal sehen, ob ich damit bis ans Ziel komme.
SG entsel
Hallo ihr beiden
Danke - werd ich mir anschauen - muss mich jetzt aber leider mit anderem beschäftigen ...
Bis später dann ...
Hallo Musashi
Danke für den Link, den Thread hatte ich schon gefunden - hatte mir insofern geholfen, dass ich mich mich Dircopy nicht übermäßig beschäftigt habe.
Stimmt, das Leerzeichen hat gefehlt, aber auch so:
RunWait(@ComSpec & " /c " & "robocopy.exe", "g:\2018\" & " " & "f:\sicherung\2018\" & " /ETA /MAXAGE:" & $von & " /MINAGE:" & $bis)
bleibt das Ergebnis das Gleiche
Parameter für robocopy in der Konsole ausgeben ... ? - damit bin ich im Moment überfordert, wie mach ich das?
_FileListToArrayRec("g:\2018\") - das erkennt mein Autoit3 zwar nicht als Befehl/Funktion (blau, Parametervorschlag, Hilfe) erzeugt aber ein Array, allerdings auch nur eine Ebene. Muss mich noch mit den Optionen beschäftigen, vielleicht brauchts da was?
(Hilfe dazu hab ich gefunden: https://autoit.de/onlinehilfe/li…tToArrayRec.htm)
SG
Danke für die Antworten.
Bei meinen Versuchen hat Dircopy einen Ordner nicht mehr "angerührt" wenn dieser schon vorhanden war - also auch keine neuen Unterordner/Dateien dort hinein kopiert - oder hab ich da was übersehen?
Batch-Datei - ist schon mal ein Schritt weiter.
Servus zusammen
Manche Leute tun sich mit dem Computer schwer und ich hab (blöderweise?) in den Raum gestellt, mit einem Script zu helfen, mich dabei aber wohl zu weit aus den Fenster gelehnt (vielleicht auch, weil ich schon etwa 5 Jahre nix mehr programmiert habe?).
Es sollen Daten von einer Speicherkarte (Registrierkassa) auf eine ext. Festplatte kopiert werden. Auf der Karte gibt es Jahresordner, z.B. "g:\2018\". Dieser Ordner soll jeweils kopiert werden - mit all seinen Unter- bzw. Unterunterordnern und mit allen deren Dateien. Aber bereits gesicherte, gesunde Daten sollen nicht mit eventuell beschädigten Dateien/Ordner von der Karte überschreiben werden (sensibler Umgang mit Speicherkarte fraglich).
Der Kopiervorgang sollte daher mit den Parametern "kopiere alles aber überschreibe nichts" laufen.
1. Dircopy kann das aber nicht und auch bei xcopy oder Robocopy hätte ich diese Möglichkeit jetzt nicht gesehen - oder gibts die Möglichkeit doch, weil so aussergewöhnlich scheint mir die Aufgabe auch nicht.
2. Da die Sicherung am Monats-/Quartalsende erfolgen soll hab ich's übers Datum probiert - kopiere alle Dateien (mit Ordnerstruktur), die im Zeitraum erstellt wurden.
Auf "g:\2018\" hab ich einige Ordner/Dateien angelegt (mit den entsprechenden Erstelldaten), da ich die Originalkarte nicht zur Verfügung habe. Ich hoffe, dass dort die Ordner/Dateien entsprechend angelegt werden.
$von = 20180301
$bis = 20180331
RunWait(@ComSpec & " /c " & "robocopy.exe", "g:\2018\" & "f:\sicherung\2018\" & " /ETA /MAXAGE:" & $von & " /MINAGE:" & $bis)
Es scheint, als ob robocopy zwar gestartet würde - etwas (ein DOS-Fenster?) blitzt kurz auf - aber es wird nichts kopiert.
Bin mir aber auch nicht sicher, ob die obige Syntax stimmt.
3. Einlesen der Ordner/Dateistruktur und kopieren mit Filecopy (flag-8) - hätte gehofft, das Einlesen geht mit _FileListToArray - das liest aber nur eine Ordnerebene - also auch nix.
Nun hoffe ich auf Eure Unterstützung - Ideen? Hinweise?
SG entsel
Danke Euch - werd mir das mal zu Gemüte führen ...
SG, entsel
Hallo
Es ist jetzt schon einige Jahre her, seit ich das letzte Mal mit Autoit gearbeitet habe und ich hab vieles vergessen - muss mich quasi neu einlesen.
Jetzt möchte ich aber wieder was tun und zwar Eigenschaften, vor allem die Länge, von Videodateien (hauptsächlich mp4-Dateien) auslesen.
Vielleicht könnt Ihr mir dazu ein paar Stichworte liefern - was includen, Funktionsnamen, etc. - damit ich mich auf das Wesentliche konzentrieren kann?
Danke, entsel
So, wie angekündigt, meine Umsetzung.
Wie schon erwähnt werden die Adressen, Betreff, Anhang und Nachrichtentext anderweitig zusammengestellt - würde hier zu weit führen - deshalb die Dummys.
Ich hab eine Funktion gebastelt, der ich jeweils die entsprechenden Daten übergebe.
Die Lösungen für Adressen und Anhänge habe ich gewählt, weil das flexibler ist (ein oder mehrere)
#include <OutlookEx.au3>
[/autoit] [autoit][/autoit] [autoit]Global $sAdresse = "name1@mail.at;name2@mail.at"
Global $sBetreff = "Subject=" & "Lieferung - Projekt Nr 123456..."
Global $sAnhang = "c:\test.dwg;c:\test.pdf"
Global $sNachrText = "<basefont face=Arial>" & "<basefont size=3>" & "Sehr geehrte Damen und Herren" & "<br>" & "<br>" ; Schriftart, Schriftgröße, 1.Textzeile, 2x Zeilenumbruch
$sNachrText &= "Dies ist die Nachricht ..."
sendemail($sAdresse, $sBetreff, $sNachrText, $sAnhang)
[/autoit] [autoit][/autoit] [autoit];---------------------------------------------
Func sendemail($sAdresse, $sBetreff, $sNachrText, $sAnhang)
Global $oOutlook = _OL_Open()
_OL_MailSignatureSet("entsel-2", "") ; in Outlook vorhandene Signatur
$oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", $sBetreff)
Local $aRecipients ;empfänger
If $sAdresse <> "" Then
$aRecipients = StringSplit($sAdresse, ";", 2)
_OL_ItemRecipientAdd($oOutlook, $oItem, Default, $olTo, $aRecipients)
EndIf
Local $aAttachments ;anhang
If $sAnhang <> "" Then
$aAttachments = StringSplit($sAnhang, ";", 2)
_OL_ItemAttachmentAdd($oOutlook, $oItem, Default, $aAttachments)
EndIf
$oItem.BodyFormat = $olFormatHTML
$oItem.GetInspector
$sBody = $oItem.HTMLBody
$oItem.HTMLBody = $sNachrText & $sBody
$oItem.Display
_OL_MailSignatureSet("entsel-1", "entsel-1") ; zurückstellen auf Standard-Signatur
EndFunc ;==>sendmailma31
Danke water, für den Tipp mit @error - das werde ich mir noch zu Gemüte führen.
Besten Dank Euch beiden - mit diesen Infos kann auch ich was anfangen. Und @ water - Danke auch von mir für die UDF.
Über das Objectmodel von Outlook ($vOL_Result.GetInspector) werde ich
mir wirklich nicht den Kopf zerbrechen - wäre vergeudete Energie. (Aber immerhin weiß ich jetzt, wo's herkommt).
Ich konnte mich heute zwar nicht so viel damit beschäftigen, wie ich wollte, hab aber schon einige erfolgreiche Testläufe geschafft.
Nächster Schritt - Einbau ins Programm und Test mit richtigen Daten.
Werd's dann posten, wenn's läuft.
Hallo qwert23
Die obige Antwort galt water, Deinen Beitrag habe ich erst danach gesehen.
Keine Polemik - sollte nur meinen Status Quo in Erinnerung rufen bzw. ergänzen.
Danke für Dein Beispiel, werds morgen (im Büro) ausprobieren (hab zu Hause Thunderbird)
Ein paar Fragen hätte ich auch dazu (falls Du die eine oder andere beantworten magst):
[autoit]$oOutlook = $oOutlook = _OL_Open()
[/autoit]
...diese doppelte Zuweisung hat einen bestimmten Zweck? (oder ist ein Versehen?)
$olMailItem und $emsend:
Da habe ich vergeblich gesucht, wo denen ein Wert zugewiesen wird - um zu verstehen, was sie genau beinhalten (die Beschreibung der Parameter hilft mir nicht recht weiter).
(hab die Zeichenkette "$emsend_oft =" und "$olMailItem =" weder hier noch in der OutlookEx.au3 gefunden)
... $emsend_oft ist ein Outlookformular ...
Wurde der schon (anderweitig) ein Wert zugeordnet? Ich nehme an, "", erzeugt eine Mail ohne (bzw. Standard-)Formular - richtig?
Und zu
[autoit]$vOL_Result.GetInspector
[/autoit]
fand ich auch keine Infos, weder in der Autoit-Hilfe noch in der OutlookEx.au3.
(mit "$" beginnen doch normal Variablennamen, aber das ...
)
Was die Empfänger betrifft - das _OL_ItemRecipientAdd wird wohl genauso funktionieren wie Dein _OL_ItemAttachmentAdd.
Sind meistens 2 externe (aus *.ini) - "name1@mail.at; name2@mail.at" würde wohl "@scriptDir&"\test.txt"" ersetzen.
Danke
wie ich bereits sagte:
ZitatLeider bin ich noch nicht so weit um das Wiki zu verstehen (nicht mal, wenn's auf Deutsch wäre).
ZitatIch hab auch versucht, in der OutlookEX.au3 irgendwelche Hinweise
(Zusammenhänge) zu finden um auch noch die Adresse und eventuell einen
Anhang einzubauen - leider vergeblich. Ich kam nicht dahinter, welche
Werte sich in den diversen Variabeln verbergen bzw. wo sie zugewiesen
werden.
Ich bin leider kein "Profi" (wie Du?!) sonder noch Anfänger was Autoit betrifft - zweitens ist mein Schul-Englisch seit 40 Jahren Geschichte - Entschuldigung.
Und um was zu lernen braucht man eben "sicheres Wissen" - die englischen Unterlagen reichen bei mir eben nur für bessere Vermutungen.
(Drum hab ich mich ja auch auf autoit.de angemeldet und nicht auf autoitscript.com
- in der Meinung, hier auch deutschsprachige Infos zu erhalten)
Danke
Werd mal das Web durchsuchen, ob ich irgendwo Anleitungen finde, wo und wie die beiden Begriffe zu verwenden sind.
Zur Not bleiben ja noch Try & Error
Hallo H2O
Danke für Deine Antwort.
Die zweite Möglichkeit mit der
[autoit]_OL_Wrapper_SendMail
[/autoit]aus OutlookEX.au3 kann ich also vergessen.
Leider bin ich noch nicht so weit um das Wiki zu verstehen (nicht mal, wenn's auf Deutsch wäre).
Aber meine 3.Möglichkeit schaut dem HMTL-Beispiel schon sehr ähnlich (könnte glatt von dort sein
).
Ich hab auch versucht, in der OutlookEX.au3 irgendwelche Hinweise (Zusammenhänge) zu finden um auch noch die Adresse und eventuell einen Anhang einzubauen - leider vergeblich. Ich kam nicht dahinter, welche Werte sich in den diversen Variabeln verbergen bzw. wo sie zugewiesen werden.
Am ehesten hätte ich noch vermutet, dass folgende Zeile ergänzt gehört:
[autoit]$oItem = _OL_ItemCreate($oOutlook, $olMailItem, "", "", "Subject=Betreff öäüß", "Adresse=mail@adresse.at", "Anhang=c:\text.txt")
[/autoit]...funktioniert so natürlich nicht ...
und hier steht ja auch nix von Adresse bzw. Anhang - aber auch nix vom Betreff (und der funktioniert dennoch):
Syntax.........: _OL_ItemCreate($oOL, $iItemType, $vFolder = ""[, $sTemplate = ""[,$sP1 = ""[, $sP2 = ""[, $sP3 = ""[, $sP4 = ""[, $sP5 = ""[, $sP6 = ""[, $sP7 = ""[, $sP8 = ""[, $sP9 = ""[, $sP10 = ""]]]]]]]]]]])
... vielleicht ist es ja die Bezeichnung "Subject" ? ... aber was gehört statt Adresse bzw. Anhang hin ? ... Reihenfolge ? ...
$oItem.HTMLBody = "Nachricht öäü?..." & $sBody
[/autoit]Da wird dem Body wohl der Nachrichtentext mit der Signatur zugewiesen (das hab sogar ich geschnallt),
aber gibts auch sowas, wie
$oItem.Adresse
[/autoit]natürlich nicht mit der Zeichenfolge "Adresse", sondern der richtigen Bezeichnung?
Fragen über Fragen ...
Bitte um noch etwas Aufklärung, vor allem was das Hinzufügen von Adresse und Anhang betrifft.
Schöne Grüße von A zu A
entsel