Selektierte Datei(en) per Email senden (Outlook)

German support forum

Moderators: white, Hacker, Stefan2

User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

tuska wrote:Nun funktioniert alles wie gewünscht, d.h. egal ob Outlook 2013 geöffnet oder geschlossen ist!
KLASSE !
Eine Bitte hätte ich noch:
Kannst Du die archive.zip Datei nachdem sie in eine Outlook-Nachricht angehängt wurde
anschließend löschen -

Ändere
REM DEL /P "%newARCH%"


zu
DEL /P "%newARCH%"



(Ich hoffe mal, Outlook benötigt sie nicht mehr.
Kann aber gut sein, das Outlook sich nur den Pfad zum Archiv merkt,
und meckert wenn die fehlt.
Dann müsste man eher eine Wartezeit einbauen:

timeout /T 10
DEL /P "%newARCH%"


falls du die Nachricht innerhalb von 10 Sekunden abschicken würdest.

Besser wäre wohl, dass Archiv in deinen %Temp% erstellen zu lassen,
und eventuell vorhandene Archive am Anfang des Skriptes löschen zu lassen)

Gleich mehr...
 
User avatar
tuska
Power Member
Power Member
Posts: 3755
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Da kommt das DOS-Fenster mit der Nachfrage: ... archive.zip löschen (j/n).
Wäre schön wenn man das automatisch mit Ja bestätigen könnte -
ansonsten ist alles perfekt!
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3755
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Kann aber gut sein, das Outlook sich nur den Pfad zum Archiv merkt,
und meckert wenn die fehlt.
Ich habe im DOS-Fenster mit J (Ja) bestätigt - die Datei wurde gelöscht
und anschließend habe ich mir die archive.zip an meine email-Adresse zugesandt. Hiebei gab es kein Problem.
Gruß,
Karl
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

 
DEL /P "%newARCH%"

tuska wrote:Da kommt das DOS-Fenster mit der Nachfrage: ... archive.zip löschen (j/n).
Wäre schön wenn man das automatisch mit Ja bestätigen könnte -
ansonsten ist alles perfekt!
EInfach mal eine DOS-Box öffnen und 'del /?' eingeben,
und schon sollte man nachlesen können,
dass man diesen '/P' Parameter auch weglassen kann. ;-)

DEL "%newARCH%"

Code: Select all

c:\temp>del /?
Löscht eine oder mehrere Dateien.

DEL [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen
ERASE [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen

  Namen         Gibt eine Liste von Dateien oder Verzeichnissen an.
                Platzhalter können verwendet werden, um mehrere Dateien zu
                löschen. Wird ein Verzeichnis angegeben, werden alle Dateien
                in diesem Verzeichnis gelöscht.
  /P            Fordert Sie vor dem Löschen jeder Datei zur Bestätigung auf.
  /F            Erzwingt das Löschen schreibgeschützter Dateien.
  /S            Löscht alle Dateien in allen Unterverzeichnissen.
  /Q            Keine Rückfrage bei Verwendung globaler Platzhalter.
  /A            Wählt die zu löschenden Dateien nach dem Attribut aus.
  Attribute     R  Schreibgeschützte Dateien     S  Systemdateien
                H  Versteckte Dateien            A  Zu archivierende Dateien
                I  Nicht indizierte Dateien      L  Analysepunkte
                -  vorangestellt kehrt die Bedeutung um.
Drücken Sie eine beliebige Taste . . .


tuska wrote:
Kann aber gut sein, das Outlook sich nur den Pfad zum Archiv merkt,
und meckert wenn die fehlt.
Ich habe im DOS-Fenster mit J (Ja) bestätigt - die Datei wurde gelöscht
und anschließend habe ich mir die archive.zip an meine email-Adresse zugesandt. Hiebei gab es kein Problem.
Ohh, gut.
Habe das Löschen allerdings bereit in v0.03 eingebaut:
http://ghisler.ch/board/viewtopic.php?p=301286#301286

Aber wenn es bereits funktioniert, ist ja alles prima.


 
User avatar
tuska
Power Member
Power Member
Posts: 3755
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Stefan,

habe Deine Version 0.03 nun angewandt und getestet:
Nur das DOS-Fenster habe ich "verschwinden" lassen - so wie Du es mir zuvor mitgeteilt hast: REM PAUSE (REM vor Pause eingefügt).
Ansonsten ist für mich alles perfekt!

Somit ist es nun möglich eine oder mehrere Dateien zu zippen und die Datei archive.zip wird in Outlook in eine neue Nachricht als Attachement eingefügt.
Die archive.zip Datei wird danach gelöscht. Es ist hiebei egal ob Outlook 2013 geöffnet ist oder nicht.

Vielen herzlichen Dank für Deine Geduld und Deinen Zeitaufwand!

[OT]Hiezu fällt mir nur noch ein persisches Sprichwort ein, das ich irgendwann einmal gelesen habe: Alles ist schwer, bevor es leicht ist.[OT]
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3755
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Nur eine Kleinigkeit ist mir noch aufgefallen:
In %temp% bleibt die archive.zip solange erhalten, bis sie von einer anderen archive.zip überschrieben wird.
Für mich ist das so in Ordnung, denn dann habe ich selbst nach Löschung eines Emails noch die Möglichkeit nachzusehen,
welche Dateianhänge versendet wurden.
Gruß,
Karl
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Danke für's Feedback. Case closed.


 
peter_jupiter
Junior Member
Junior Member
Posts: 97
Joined: 2007-09-15, 19:44 UTC
Location: Austria

Post by *peter_jupiter »

Liebe Forumfreunde,
danke für Euren Input und die vielen Threads.
v0.02 funktioniert bei mir , dafür erst mal vielen Dank.
ForEachSelFile-AddToOutlook.vbs
Mir wäre es lieber, wenn die MSG boxen nicht kommen würden, wollte die mit REM wegmachen, hat aber nicht funktioniert, kenne mich mit VB zu wenig aus.

v0.03 mit zip Datei
das habe ich noch nicht hinbekommen, habe auch das VBS verwendet.
(Warum gibt es eigentleich batch und VBS und wann nimmt man das eine und wann das andere ? )
Dann habe ich ein Problem mit der z7a.exe, diese kann ich von nirgends installieren, desweiteren weiß ich nicht, wie ich dann den Pfad im VBS script richtig einstellen muss.

Sorry, bin leider kein Spezialist.
Wie gesagt, ich wäre mit der v0.02 zufrieden, ohne msg box, das funktioniert bei mir sehr gut.
Danke und LG
Peter
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

peter_jupiter> ForEachSelFile-AddToOutlook.vbs
peter_jupiter> Mir wäre es lieber, wenn die MSG boxen nicht kommen würden,
peter_jupiter> wollte die mit REM wegmachen, hat aber nicht funktioniert, kenne mich mit VB zu wenig aus.

Dann zeig mal, was du gemacht hast.

REM MsgBox "Finished.",,"TC VBS"

sollte funktionieren. Oder lösche diese Zeile einfach, wenn du sie nicht benötigst.


peter_jupiter> (Warum gibt es eigentleich batch und VBS und wann nimmt man das eine und wann das andere ? )
Batch und VBS und PowerShell und JavaScript sind nur Varianten ein und des Selben: eine funktionierende Lösung bereit zu stellen.
Man nimmt einfach das was bei einem funktioniert.
Da berichtet wurde, dass die Batch nicht läuft (ich dachte eventuell wg. Win10), wurde das Skript als VBS 'nachgebaut'.
Und dann benötigt man für das Hinzufügen mehrerer einzelner Dateien (ohne zu zippen) ein COM Object, was nicht über eine Batch (ohne externe Tools) realisierbar ist. Das geht über VBS/JS/PoSh besser.



peter_jupiter> v0.03 mit zip Datei - das habe ich noch nicht hinbekommen, habe auch das VBS verwendet.
Tja, da kann dir keiner helfen, wenn du nicht beschreibst was genau.



peter_jupiter> Dann habe ich ein Problem mit der z7a.exe, diese kann ich von nirgends installieren,
Brauchst du auch nicht zu installieren. Lade die Anwendung als ZIP Archive runter und entpacke es.
Für unseren Zweck kopiere die 7z Dateien einfach in einen Ordner im TC Verzeichnis.
Das alles wurde bereits oben (eventuell nur so nebenbei) gezeigt.



peter_jupiter> desweiteren weiß ich nicht, wie ich dann den Pfad im VBS script richtig einstellen muss.
Schau dir mal die Zeile an mit :
WSO.run chr(34) & vTCPath & "\TOOLs\Packer\7za.exe" & chr(34) &

Hier wurde in vTCPath mittels dem Befehl vTCPath = WSO.ExpandEnvironmentStrings( "%Commander_Path%" )
das aktuelle Verzeichnis des laufenden TCs als Zeichenkette abgelegt, und dann den Rest des Pfades zur 7za.exe angefügt.
Daher mein Vorschlag, 7z in einen Unterordner vom TC zu legen. Damit bist du portable.
Aber du kannst auch komplett deinen eigen Pfad dort angeben, zB:
WSO.run chr(34) & "C:\Downloads\7za920\7za.exe" & chr(34) & ......



peter_jupiter> Sorry, bin leider kein Spezialist.
Kein Problem, das sind wir alle nicht.
Du musst nur genauer erklären, Was du Wie und Wo gemacht hast, statt nur "geht nicht" zu schreiben.

peter_jupiter> Wie gesagt, ich wäre mit der v0.02 zufrieden, ohne msg box, das funktioniert bei mir sehr gut.
Na dann ist ja alles klar, viel Spaß damit :wink:



 
peter_jupiter
Junior Member
Junior Member
Posts: 97
Joined: 2007-09-15, 19:44 UTC
Location: Austria

Post by *peter_jupiter »

Danke Stefan,

MSG Box v0.02
REM MsgBox "Finished.",,"TC VBS"
das hatte ich hinbekommen, danke.

REM ret = MsgBox("File: "&vFullName&vbCRLF&vbCRLF&"Continue?", vbOKCancel,"TC VBS")

das funktioniert leider nicht, im orginal kommt hier für jede selektierte Datei eine ok Abfrage, diese benötige ich nicht.

Das andere mit dem zip schaue ich mir später nochmals an.
Hat mir aber schon etwas weiter geholfen Deine Erklärung.
LG
Peter
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

peter_jupiter wrote:
REM ret = MsgBox("File: "&vFullName&vbCRLF&vbCRLF&"Continue?", vbOKCancel,"TC VBS")

das funktioniert leider nicht, im orginal kommt hier für jede selektierte Datei eine ok Abfrage, diese benötige ich nicht.
Bei mir funktioniert die Unterdrückung der Meldungen:

Code: Select all

   Do Until oTextStream.AtEndOfStream
      vFullName = oTextStream.ReadLine
      
      '//Little debug (Prefix line with ' -sign to disable):
       REM  ret = MsgBox("File: "&vFullName&vbCRLF&vbCRLF&"Continue?", vbOKCancel,"TC VBS")
      If (ret=vbCancel) Then WScript.Quit
      
      '//Add current file name to Outlook:
      AppItem.Attachments.Add  vFullName
      
   Loop


oder

Code: Select all

   Do Until oTextStream.AtEndOfStream
      vFullName = oTextStream.ReadLine
      
      '//Little debug (Prefix line with ' -sign to disable):
      'ret = MsgBox("File: "&vFullName&vbCRLF&vbCRLF&"Continue?", vbOKCancel,"TC VBS")
      'If (ret=vbCancel) Then WScript.Quit
      
      '//Add current file name to Outlook:
      AppItem.Attachments.Add  vFullName
      
   Loop


oder

Code: Select all

   Do Until oTextStream.AtEndOfStream
      vFullName = oTextStream.ReadLine
      

      
      '//Add current file name to Outlook:
      AppItem.Attachments.Add  vFullName
      
   Loop




Erklärung:
Das Kommentarzeichen für VBS ist ein '
Oder eben auch ein REM
Das '// ist nur etwas kosmetischer Schnick-Schnack.
Das // ist eigentlich das Kommentarzeichen von JavaScript. Und um das ' von VBS etwas hervorzuheben, verwende ich für Kommentare '//
Und zum auskommentieren von Programm-Code das Kommentarzeichen ' alleine.



 
peter_jupiter
Junior Member
Junior Member
Posts: 97
Joined: 2007-09-15, 19:44 UTC
Location: Austria

Post by *peter_jupiter »

Super, danke Stefan,
ich habe den 3. Code genommen, und es funktioniert super.
Alles Gute, wie gesagt, mit dem zip schaue ich mir später nochmals an.
LG
Peter
User avatar
tuska
Power Member
Power Member
Posts: 3755
Joined: 2007-05-21, 12:17 UTC

Re: Selektierte Datei(en) per Email senden (Outlook)

Post by *tuska »

2Stefan2

Aufgrund dieses Forumsbeitrages How to send multiple files to email tool?
habe ich mich erneut an diesem Thema versucht.

Datei(en) konnte ich per Datei "archive.zip" in eine Outlook-Email einfügen lassen.

Nur das automatische Löschen dieser Datei hat nicht funktioniert.
C:\Users\user\AppData\Local\Temp\archive.zip

ForSelectedFiles_Do_AddToOutlook_v3.cmd

Code: Select all

if exist "%newARCH%" DEL "%newARCH%"
Das DOS-Fenster bleibt OFFEN:
- Letzte Zeile zeigt "* * * Calling Outlook" an.
- Pfeil-nach-unten Taste schließt das DOS-Fenster

Die Datei "archive.zip" wurde NICHT gelöscht.
ForSelectedFiles_Do_AddToOutlook_v3.cmd

Code: Select all

@ECHO OFF
REM Found at http://ghisler.ch/board/viewtopic.php?p=301286#301286
REM Batch script "ForSelectedFiles_Do_AddToOutlook.cmd"
REM Example Attachment: Archive.zip (with file1, file2, file3, ...)
REM by Stefan, 2015-10-25,
REM v0.02 (now with more quotes, and TCs %UL parameter for german umlauts)
REM v0.03 delete old archive, if existent
REM
REM Use from a Total Commander Button:
REM Command:     "D:\rive\path\to\this\batch.cmd"
REM Parameter:   "%UL"
REM (Both cmd and para including the quotes. See TC help for more params)
REM Startpfad:
REM Tooltip:     ForSelectedFiles_Do_AddToOutlook.CMD
REM Icondatei:   C:\WINDOWS\System32\imageres.dll (zB das Briefsymbol)

REM
REM Usage: select a few files and execute the button.
REM
REM
REM THE CODE
SET listfiletxt=%~1
IF ,%listfiletxt%,==,, GoTo _ERROR

REM NOTEPAD "%listfiletxt%"
ECHO.
ECHO Zipping files to archive and adding to Outlook:
ECHO.
ECHO ---------------------------------
ECHO Set 7z @listfiletxt to "%listfiletxt%"
ECHO.
SET newARCH=%TEMP%\archive.zip
ECHO Set new archive name to "%newARCH%"
ECHO ---------------------------------
ECHO.
if exist "%newARCH%" DEL "%newARCH%"

ECHO.
ECHO * * * Calling 7Zip:
REM http://www.7-zip.de/download.html  --- Standalone-Konsole
REM http://www.7-zip.org/download.html --- standalone console version
 echo "%Commander_Path%\TOOLs\7-zip-A\7za.exe "  a "%newARCH%" "@%listfiletxt%"
      "%Commander_Path%\TOOLs\7-zip-A\7za.exe "  a "%newARCH%" "@%listfiletxt%"

ECHO.
ECHO * * * Calling Outlook
START "" outlook /a "%newARCH%"

ECHO.
ECHO * * * All Done!
REM PAUSE
GoTo :EOF

:_ERROR
ECHO.
ECHO ! listfiletxt not found !
ECHO "%listfiletxt%"
PAUSE
GoTo :EOF
PS:
Die andere Variante mit dem DEL-Befehl hat bei mir ebenfalls nicht funktioniert, d.h.
ich erhalte im DOS-Fenster eine Löschabfrage für die Datei "archive.zip", die sich in
dem Ordner befindet von welchem ich die .ZIP Datei erstellt habe
(nicht: C:\Users\user\AppData\Local\Temp\). Erst danach schließt sich das DOS-Fenster.
(Wenn ich die Funktion benötige, verwende ich diese Variante...).

Wenn ich den DEL-Befehl ändere, erhalte ich die Fehlermeldung "Pfad nicht gefunden...".
Wenn ich den DEL-Befehl auf DEL /PQ "%newARCH%" ändere, schließt sich das DOS-Fenster,
jedoch wird die Datei nicht gelöscht.
Weitere Details könnte ich noch nachliefern...
----
Hast noch eine Idee?

EDIT: ForSelectedFiles_Do_AddToOutlook_v3.cmd
Zeile 51 PAUSE geändert auf: REM PAUSE damit sich das DOS-Fenster schließt.
Last edited by tuska on 2023-05-15, 18:35 UTC, edited 2 times in total.
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: Selektierte Datei(en) per Email senden (Outlook)

Post by *Stefan2 »

2tuska , du hast zwei Fragen?

1) Nur das automatische Löschen dieser Datei hat nicht funktioniert. C:\Users\user\AppData\Local\Temp\archive.zip

2) Hast vielleicht sonst noch einen Tipp wie man das DOS-Fenster schließen lassen kann?

zu 1: muss ich mir mal genauer anschauen...
zu 2: du meinst den PAUSE-Befehl? ("drücken sie eine Taste") ?


Ich verstehe noch nicht ganz, aber ich lese es nachher noch einmal.

Oder mal was neues ausprobieren:
Chat with me at - - - Chatzy.com/91583829509442


 
User avatar
tuska
Power Member
Power Member
Posts: 3755
Joined: 2007-05-21, 12:17 UTC

Re: Selektierte Datei(en) per Email senden (Outlook)

Post by *tuska »

Stefan2 wrote: 2023-05-15, 15:53 UTC 2tuska , du hast zwei Fragen?

1) Nur das automatische Löschen dieser Datei hat nicht funktioniert. C:\Users\user\AppData\Local\Temp\archive.zip
Es geht mir um die automatische Löschung der Datei "archive.zip" und dass sich das DOS-Fenster automatisch schließt.

Die Datei "archive.zip" kann sich an diesen Orten befinden:
- C:\Users\user\AppData\Local\Temp\archive.zip (ForSelectedFiles_Do_AddToOutlook_v3.cmd)

Code: Select all

  if exist "%newARCH%" DEL "%newARCH%"
  - ODER -
- zB D:\Daten\WINWORD\archive.zip (ForSelectedFiles_Do_AddToOutlook.cmd), das ist der Ort in welchem die Dateien
  markiert wurden um die .zip Datei zu erstellen.
ForSelectedFiles_Do_AddToOutlook.cmd

Code: Select all

@ECHO OFF
 REM Found at http://ghisler.ch/board/viewtopic.php?p=301286#301286
 REM Batch script "ForSelectedFiles_Do_AddToOutlook.cmd" by Stefan, 2015-10-24,
 REM v0.02 (now with more quotes, and TCs %UL parameter for german umlauts)
 REM
 REM Use from a Total Commander Button:
 REM Command:     "D:\rive\path\to\this\batch.cmd"
 REM Parameter:   "%UL" "%Parchive.zip"
 REM (Both cmd and para including the quotes. See TC help for more params)
 REM Startpfad:
 REM Tooltip:     ForSelectedFiles_Do_AddToOutlook.CMD
 REM Icondatei:   C:\WINDOWS\System32\imageres.dll (zB das Briefsymbol)

 REM
 REM Usage: select a few files and execute the button.
 REM
 REM
 REM THE CODE
 SET listfiletxt=%~1
 IF ,%listfiletxt%,==,, GoTo _ERROR

 REM NOTEPAD "%listfiletxt%"
 ECHO.
 ECHO Zipping files to archive and adding to Outlook:
 ECHO.
 ECHO ---------------------------------
 ECHO Set 7z @listfiletxt to "%listfiletxt%"
 ECHO.
 SET newARCH=%~2
 ECHO Set new archive name to "%newARCH%"
 ECHO ---------------------------------
 ECHO.
 ECHO.
 ECHO * * * Calling 7Zip:
 REM http://www.7-zip.de/download.html  --- Standalone-Konsole
 REM http://www.7-zip.org/download.html --- standalone console version
 echo "%Commander_Path%\TOOLs\7-zip-A\7za.exe "  a "%newARCH%" "@%listfiletxt%"
      "%Commander_Path%\TOOLs\7-zip-A\7za.exe "  a "%newARCH%" "@%listfiletxt%"

 ECHO.
 ECHO * * * Calling Outlook
 START "" outlook /a "%newARCH%"

 ECHO.
 REM ECHO * * * Deleting archive:
 DEL /P "%newARCH%"

 ECHO.
 ECHO * * * All Done!
 REM PAUSE => Falls irgendetwas anzupassen wäre, dann REM entfernen!
 GoTo :EOF

 :_ERROR
 ECHO.
 ECHO ! listfiletxt not found !
 ECHO "%listfiletxt%"
 PAUSE
 GoTo :EOF
 REM EOF - Batch finished here. Information following:

Code: Select all

      "%Commander_Path%\TOOLs\7-zip-A\7za.exe "  a "%newARCH%" "@%listfiletxt%"
 DEL /P "%newARCH%"
Post Reply