Outlook(2010) - selektierte Anlage in Dateiordner speichern

  • Outlook

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von hannebambele.

    Outlook(2010) - selektierte Anlage in Dateiordner speichern

    Hallo,

    ich habe nun schon eine ganze Weile nach einer Lösung gefunden, ohne Erfolg. Meine Suche führte immer nur zu Lösungen für eine Speicherung einer kompletten Mail oder aber aller Anlagen.

    Ich suche eine VB Lösung um eine einzelne Anlage - und zwar die gerade selektierte oder markierte Anlage, in einem vorgegebenen Dateiordner zu speichern. Also eigentlich das was bei einem Rechstklick auf die besagte Anlage passiert - da öffnet sich das Fenster "Anlage speichern" und man kann den Pfad händisch wählen. Das soll jetzt aber auf Knopfdruck passieren.

    Kann mir da jemand weiterhelfen? Wäre super!!!

    Danke im Voraus
    1. Willkommen in Forum
    2. Es entzieht sich gerade meiner Vorstellungskraft, was das bringen soll, aber wenn z.B. bei stackoverflow schon eine Lösung für alle Anhänge gegeben ist, was ist daran dann nicht für Dich so modifizierbar, dass es für Dich geht?
    3. Was meinst Du mit

    hannebambele schrieb:

    Das soll jetzt aber auf Knopfdruck passieren.
    Auf welchen Knopf willst Du drücken? Hast Du ein eigenes Formular? Eine Erweiterung im Menüband? Oder gar einen per [Erweiterte Antwort] hochgeladenen Screenshot der Ist-Situation?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:


    [...] was ist daran dann nicht für Dich so modifizierbar, dass es für Dich geht [...]

    Damit kann man nur alle Anhänge speichern. In diesem Fall soll aber nur der markierte Anhang gespeichert werden. Und genau das funktioniert nicht, da VBA nicht erkennen kann welcher Anhang gerade markiert ist.
    Ok, dann anders. Wenn nicht alle Anhänge gespeichert werden sollen, muss es ja einen Grund dafür geben. Anscheinend sind es einige Anhänge wert gespeichert zu werden. Existiert ggf. ein Kriterium, welches einem Programm ermöglicht zu entscheiden, ob es abgespeichert werden soll oder nicht, Z.B.: nur PDF-Dateien. Oder nur welche, in denen im Namen "RäuberHotzenplotz" steht. Oder die eine bestimmte (Mindest- oder Maximal)Größe haben? Dann sind doch Codings möglich.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Zur Erläuterung, warum nur der markierte Anhang:
    Aufgrund dieser tollen Gesetzgebung (nennt sich u. a. irgendwie mit "zur Vereinfachung" - bewirkt m. E. aber das Gegenteil) müssen beispielweise Rechnungen, die man als PDF bekommt, nach den Regelungen der sogenannten GoBD so aufbewahrt werden, dass Veränderungen nachvollziehbar sind u. u. u. u.
    Jetzt bekomme ich regelmäßig Mails, mit mehreren anhängende PDFs. Davon ist aber nur ein PDF die Rechnung, die aufbewahrt werden muss. Der Rest ist Abfall. Ich habe nun ein Archivierungsprogramm, dass beispielsweise in der Lage ist, einen Dateiordner zu überwachen. Sobald da was reinwandert, läuft ein Script ab (OCR, Auslesen von Inhalten wie Betrag, Rechnungsnummer usw.), aufgrund dessen dann die Ablage in ein durch die ausgelesenen Infos erzeugtes Verzeichnis innerhalb dieser Software erfolgt. Das muss so funktionieren, damit dieses PDF danach schnellstmöglich gefunden werden kann. Ich suche jetzt eben nur den Weg, wie ich den einen wichtigen Anhang durch Knopfdruck in den überwachten Ordner kopieren kann.

    Den richtigen Anhang zu finden geht nicht, kapiere ich nicht. Ich aktiviere in Outlook die entsprechende Anlage (Voransicht wird im Outlook-Lesebereich angezeigt). Ich kann nun entweder zusätzlich einen Rechtsklick mit der Maus auf den Anhang tätigen. Das Kontektmenü zeigt dann u. a. "Speichern unter" an, mittels dem man die markierte Anlage dann entsprechend Ablegen könnte (aber man muss sich halt jedesmal ins Zielverzeichnis vorarbeiten). Außerdem wird unter dem Menüpunkt "Anlagentools/Anlagen" ebenfalls ein Button "Speichern unter" angezeigt, der die gleiche Funktion verkörpert.
    Es fehlt jetzt nur noch der Part, den Zielordner automatisch auszuwählen.
    Und das geht nicht mittels Makro?




    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hannebambele“ ()

    @mumpel: Da Du mit VBA besser umgehen kannst als ich, kannst Du es bestimmt zuende bringen. Ich versteh das mit den Events in VBA nicht ganz, will mich da grad aber auch nicht einarbeiten:
    Davon ausgehend, dass kein Doppelklick auf die Mail gemacht wird (da man sonst mit dem ActiveInspector und nicht mit dem ActiveWindow arbeiten müsste) und man dann auf der selektierten Anhang auf ... ja, worauf klicken muss, damit BeforeAttachmentSave ausgeführt wird? Bei mir will's nicht. Mir ist klar, dass man erst mit einem eigenen Button im RibbonControl erstmal TestAttachSave() ausführen muss (ggf. geht es noch anders?)

    Visual Basic-Quellcode

    1. Public WithEvents myItem As Outlook.MailItem
    2. Public Sub myItem_BeforeAttachmentSave(myAttachment As Attachment, Cancel As Boolean)
    3. myAttachment.SaveAsFile ("TargetPath")
    4. End Sub
    5. Public Sub TestAttachSave()
    6. Set myItem = Application.ActiveWindow.Selection.Item(1)
    7. End Sub
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    hannebambele schrieb:

    Und das geht nicht mittels Makro?

    Nein, das geht nicht. Und solange schon ein Dialog offen ist kann kein Makro ausgeführt werden.

    Wenn es um rechtskonforme Aufbewahrung (Langzeitarchivierung) geht nutze ich Convert. Damit wird die gesamte Email inklusive Anhänge im rechtskonformen PDF/A-Format gespeichert.

    @VaporiZed
    "BeforeAttachmentSave" funktioniert nicht mit der "SaveAsFile"-Methode ("Speichern unter").

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „mumpel“ ()

    Gemäß GOBD musst du die gesamte(!) Mail ink. Anhang speichern. Nur der Anhang reicht nicht. Die Mail muss revisionssicher und (für den Normal User) unlöschbar abgespeichert werden. Z.b. Auf CD brennen oder sowas.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mumpel schrieb:

    Wenn es um rechtskonforme Aufbewahrung (Langzeitarchivierung) geht nutze ich Convert. Damit wird die gesamte Email inklusive Anhänge im rechtskonformen PDF/A-Format gespeichert.


    Convert hab ich mal kurz überflogen. Wie wird hier die Verbindung zur FiBu hergestellt? Es muss möglich sein, einfach und schnell den Weg vom Dokument zur Buchung und auch umgekehrt zu finden:

    Die GoBD sagt dazu „progressive und retrograde Prüfbarkeit“. Zitat:
    „Die Geschäftsvorfälle müssen sich in ihrer Entstehung und Abwicklung lückenlos verfolgen lassen (progressive und retrograde Prüfbarkeit).
    – Randziffer 33 –
    Die progressive Prüfung beginnt beim Beleg, geht über die Grund(buch)aufzeichnungen und Journale zu den Konten, danach zur Bilanz mit Gewinn- und Verlustrechnung und schließlich zur Steueranmeldung bzw. Steuererklärung. Die retrograde Prüfung verläuft umgekehrt. Die progressive und retrograde Prüfung muss für die gesamte Dauer der Aufbewahrungsfrist und in jedem Verfahrensschritt möglich sein.“

    Meines Erachtens muss dann in Convert die jeweilige Mail so abgelegt werden, dass diese direkt zur Buchung führt und umgekehrt, beispielsweise in dem die ablegte Mail die Buchungsnummer enthält. Ein Prüfer schaut in die FiBu und will eine bestimmte Buchung prüfen. Dann muss es möglich sein, die Buchungsnummer oder einen anderen eindeutigen Ordnungsbegriff zur Suche in Convert einzugeben, mittels dem die entsprechende Mail dann angezeigt wird. Umgekehrt: Der Prüfer schaut sich die Mail an und muss aus dieser die entsprechende Info (Buchungsnummer o. ä.) erkennen können, um die Buchung in der FiBu zu finden. Es reicht nicht aus, wenn nur die Mails einfach darin abgelegt sind und man muss ggf. erst alle durchsehen, um die richtige zu finden......

    Sicherlich lässt sich das je nach Umfang einer FiBu auch relativieren. Wenn ich nur 10 Belege im Jahr habe, ist das vermutlich so nicht erforderlich. ....


    mrMo schrieb:

    Gemäß GOBD musst du die gesamte(!) Mail ink. Anhang speichern. Nur der Anhang reicht nicht. Die Mail muss revisionssicher und (für den Normal User) unlöschbar abgespeichert werden. Z.b. Auf CD brennen oder sowas.


    Das stimmt so m. E. nicht ganz. Dient eine Mail nur als "Briefumschlag", also beispielsweise nur mit dem Text "Anhängend erhalten Sie unsere Rechnung........", dann muss man die Mail selbst nicht archivieren. Es reicht die angehängte (i. d. R. PDF) rechtssicher zu archivieren. Genau für diesen Fall wollte ich ja einen Makro, der mir solche relevanten PDF-Anlagen auf Knopfdruck in einen Dateiordner kopiert.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hannebambele“ ()

    Eine weitere Möglichkeit wäre den Standardspeicherort zu ändern. Dieser gilt dann aber global für alle Outlook-Elemente.

    1. Registrierungseditor aufrufen.
    2. Wechseln in den Pfad HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options
    3. Eine neue Zeichenfolge erstellen und dieser den Namen DefaultPath geben.
    4. Doppelklick auf die Zeichenfolge und den Pfad eintragen. Enthält der Pfad Leerzeichen dann den Pfad in Anführungszeichen setzen.

    mumpel schrieb:

    Eine Möglichkeit wäre den Standardspeicherort zu ändern. Dieser gilt dann aber global für alle Outlook-Elemente.

    1. Registrierungseditor aufrufen.
    2. Wechseln in den Pfad HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options
    3. Eine neue Zeichenfolge erstellen und dieser den Namen DefaultPath geben.
    4. Doppelklick auf die Zeichenfolge und den Pfad eintragen. Enthält der Pfad Leerzeichen dann den Pfad in Anführungszeichen setzen.


    Das wäre ein gangbarer Weg. Danke!

    hannebambele schrieb:


    Convert hab ich mal kurz überflogen. Wie wird hier die Verbindung zur FiBu hergestellt?

    Garnicht. "Convert" konvertiert/speichert Emails im PDF/A-Format. Du kannst natürlich den Pfad selber festlegen. Da es sich aber um PDF/A handelt kann die Datei nicht mehr bearbeitet werden.

    hannebambele schrieb:


    Das wäre ein gangbarer Weg. Danke!

    Und der einzige Weg.

    mumpel schrieb:

    Garnicht. "Convert" konvertiert/speichert Emails im PDF/A-Format. Du kannst natürlich den Pfad selber festlegen. Da es sich aber um PDF/A handelt kann die Datei nicht mehr bearbeitet werden.


    Die Datei selbst muss auch nicht bearbeitet werden oder darf sie auch nicht, es sei denn, die Veränderungen werden revisionssicher dokumentiert. Wenn ich in meiner Software ein Dokument archiviere und danach verändere, beispielsweise in dem ich eine Randnotiz oder einen "Stempel" anbringe, wird eine zusätzliche Datei davon erzeugt. Bei jeder weiteren Änderungen wieder eine zusätzlich Datei. Man kann diese Versionen dann miteinander vergleichen und so genau nachweisen, was gemacht wurde. Sofern damit keine GoBD relevanten Daten (Betrag, Datum o. ä.) verändert werden, ist das zulässig. Für die GoBD Einhaltung ist es erforderlich, dass eben die FiBu mit den Belegen so verknüft wird, dass in beide Richtungen leicht zu prüfen/zu finden ist. Bei mir soll das im Endstadium so laufen, dass ich eben in Outlook eine PDF Rechnung in den von der Software überwachten Ordner kopiere. Die Software startet dann ein Script. Damit wird dann nach vorgegebenen Suchkriterien die Datei durchsucht (ggf. erfolgt vorher ein OCR, falls die Datei nicht durchsuchbar ist). Es werden dann beispielsweise Rechnungssteller, Rechnungsnummer, Rechnungsdatum, Betrag, Rechnungsempfänger usw. ausgelesen. Dabei ist es möglich nach bestimmten Begriffen zu suchen und diese oder auch Teile der gefundenen Infos in Felder einzulesen (Ablagemasken). Die Feldinhalte können dann auch verwendet werden, um innerhalb der Software einen Ablagepfad zu erstellen und/oder den Ablagenamen zu erzeugen. Die Ablagepfade können aus diesen Feldinhalten und auch mit Konstanten kombiniert werden. Bekomme ich eine Rechnung von der Telekom und kopiere die von Outlook in diesen Ordner, werden die entsprechenden Infos erzeugt und beispielsweise daraus der Ablagepfad
    "Meine Buchhaltung/Eingangsrechnungen/Jahr/Telekom" erzeugt und darin das PDF mit dem Namen Rechnung Nr. XXXXXXXXX vom xx.xx.xxxx abgelegt. Wenn ich dann in angemessener Frist diese Rechnung verbuche, kann ich beispielsweise in einem Feld "Buchungsnummer" diese von der FiBu erzeugte dort ergänzen. Damit ist die Verbindung hergestellt. Ich könnte aber auch die von der Archivierung für jedes Dokument erzeugte eindeutige ID-Nr. in der FiBu im Buchungstext verwenden und hätte darüber die Verbindung. Bei der Ergänzung der Buchungsnummer würde die Software diese Veränderung dokumentieren und ich könnte belegen, dass die Veränderung eben nur diese Ergänzung betraf, das Dokument ansonsten nicht verändert wurde, also GoBD konform. Über die Suche nach der Buchungsnummer würde man sofort sowohl in der FiBu wie auch in der Archivierung die zugehörigen Daten/Dokumente binnen Sekunden finden.

    Wenn Convert so etwas nicht kann, dient es vermutlich nur zur Beweissicherung. Natürlich sind auch Mails aufzubewahren, die letztendlich zu einer Rechnung führen, wie beispielsweise eine Bestellung eines Kunden oder ein Händler nennt dem Kunden einen Verkaufspreis usw. M. E. müssen aber auch diese dann miteinander so verknüpft sein, dass es wieder bis zur FiBu verfolgt werden kann.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hannebambele“ ()

    hannebambele schrieb:

    Das stimmt so m. E. nicht ganz. Dient eine Mail nur als "Briefumschlag", also beispielsweise nur mit dem Text "Anhängend erhalten Sie unsere Rechnung........", dann muss man die Mail selbst nicht archivieren. Es reicht die angehängte (i. d. R. PDF) rechtssicher zu archivieren.

    Sollten FIBU relevante Daten in der Mail stehen, muss die ganze Mail archivieren. Kannst du das nicht 100%ig ausschließen, archiviere die ganze Mail. An der Stelle kannst du gar nicht genug Archivieren. Da haste nachher nur Probleme wenns zur Prüfung kommt.

    Ich würde einfach die ganze Mail archivieren. Das ist vor allem auch einfacher zum umsetzen...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mrMo schrieb:

    Sollten FIBU relevante Daten in der Mail stehen, muss die ganze Mail archivieren. Kannst du das nicht 100%ig ausschließen, archiviere die ganze Mail. An der Stelle kannst du gar nicht genug Archivieren. Da haste nachher nur Probleme wenns zur Prüfung kommt.

    Ich würde einfach die ganze Mail archivieren. Das ist vor allem auch einfacher zum umsetzen...


    Sodele, um diese GoBD Thema abzuschließen.....

    Ich habe mit Herrn Gangle von Convert telefoniert. Convert wandelt lediglich (sagt eigentlich schon der Name) eine Mail (oder mehrere) in ein PDF-A um und legt dieses dann im Dateisystem ab. Es gibt keine Möglichkeit dabei eine Verknüpfung zu erzeugen, die so ein PDF dann an die FiBu koppeln würde. Zudem ist eine Archivierung ohne eine revisionssichere Änderungsverfolgung nicht GoBD konform. Man kann auch ein PDF-A "knacken", verändern und danch wieder als PDF-A speichern. Für die Einhaltung der GoBD müsste das PDF unverändert in ein entsprechendes Archiv wandern, das entsprechend überwacht wird. Nimmt man Änderungen vor (was im Übrigen begrenzt zulässig ist), müssen diese nachvollziehbar sein. Bei meiner Software wird dazu neben der Originalversion eine "Neuversion" gespeichert (oder auch mehrere). Irgendwo in den GoBD steht auch drin, dass eine "einfache Ablage im Dateisystem" nicht zulässig ist.
    Das sagte ich ja auch schon. Du kannst aber als Zielpfad für Convert den überwachten Ordner wählen, dann müsste es von Fibu auch erkannt und entsprechend archiviert werden.

    Und wer es darauf anlegt kann alles knacken. Mit VBA kann ich eine Email manipulieren und diese manipulierte Email dann an Programme wie Fibu senden. Es gibt also keine Garantie dafür dass das was in Fibu steht nicht irgendwie manipuliert wurde.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mumpel“ ()

    mumpel schrieb:

    Das sagte ich ja auch schon. Du kannst aber als Zielpfad für Convert den überwachten Ordner wählen, dann müsste es von Fibu auch erkannt und entsprechend archiviert werden.


    Das ist korrekt, aber wäre für mich wohl doppelt gemoppelt.

    mumpel schrieb:

    Und wer es darauf anlegt kann alles knacken. Mit VBA kann ich eine Email manipulieren und diese manipulierte Email dann an Programme wie Fibu senden. Es gibt also keine Garantie dafür dass das was in Fibu steht nicht irgendwie manipuliert wurde.


    Das darf man aber nicht dem Fiskus sagen, sonst muss man seine FiBu bald vom Notar beglaubigen lassen <X

    mumpel schrieb:

    Hast Du den Registrierungseintrag schon getestet?


    Nein, noch nicht. Ich bin mir noch nicht klar darüber, wie ich weiter vorgehen soll. Meine Software bietet verschiedene Möglichkeiten für die Archivierung von Mails an. Einmal gibt es eine sogenannte Scan&Archive Funktion. Damit wird aber nur die erste Seite jedes Anhangs untersucht. Für den Fall, dass ich also auch den Rechnungsbetrag "auslesen" möchte und die Rechnung mehrseitig ist, würde dieser Weg nicht funktionieren. Das wäre die Variante gewesen, für die ich eben die Anhänge mittels Knopfdruck in Outlook in das von dieser Funktion überwachten Ordner kopieren wollte. Eine andere mögliche Variante funktioniert mit Ablagekacheln auf dem Desktop. Man muss aus Outlook eine Mail (oder einen Anhang - da bin ich noch nicht durch, was der richtige Weg ist) auf so eine Kachel ziehen. Bei dieser Variante kann man angeben, wieviel Seiten im Hintergrund über ein OCR laufen. Mittels Scripten kann man dann die gefundenen Daten in "reguläre Ausdrücke" übergeben, die dann in Felder einer Ablagemaske eingetragen werden. Mit solchen Scripten kann man dann auch aus solchen Feldinhalten den Ablagepfad im Programm erzeugen und den Dokumentnamen individuell kreieren. Beispielsweise könnte man nach dem Wort "IBAN" suchen, die Nummer dahinter auslesen und damit den Rechnungssteller definieren. Damit könnte man dann für den Ablagepfad den "Kreditorname" heranziehen. Ziel ist es dann beispielsweise eine Rechnung von der Telekom automatisch im Archiv unter "Firma\Buchhaltung\Telekom\Jahr\Monat" mit dem Namen "Rechnung Nr. xxxxxxxx vom xx.xx.xxxx" abzulegen. Natürlich wären zu diesem Dokument dann noch weitere Daten ausgelesen worden, wie Betrag, Mailabsender, Mailempfänger usw. nach denen auch "gesucht" werden kann.

    Hat man in der FiBu eine Buchung über € 135,95 könnte man in der Archivierung nach 135,95 suchen und würde alle Dokumente mit diesem Betrag finden.

    Wenn ich diesen Weg gehe, wird sich das Kopieren auf Knopfdruck eines einzelnen Anhanges (der könnte ja mehrseitig sein) in einen Ordner erübrigen.