Automatisch Links aus Mails anklicken

Moderator: ModerationP

Automatisch Links aus Mails anklicken

Beitragvon franky43 » 28. Apr 2019, 10:20

Hallo,
ich bekomme jeden Tage 3 Mails mit jeweils einem Berichts-Link drin. Diese klicke ich an, es öffnet sich eine Website und es erscheint ein Dialog wo ich den Speicherort des Berichts auf meiner Festplatte bestätigen kann. Nun suche ich eine Möglichkeit, diesen Prozess zu automatisieren.
Die Mails sind über Absender und Subject sehr leicht eindeutig zu identifizieren, ebenso der richtige Link aus der jeweiligen Mail. Der Download muss nicht sofort erfolgen und deshalb dachte, dass ich sie zunächst in einen Ordner filtern lasse um dann auf diesen Ordner einen VBA-Script anzuwenden. Bei meiner Suche stieß ich auf https://www.datanumen.com/blogs/how-to-batch-open-all-hyperlinks-with-a-specific-domain-in-your-outlook-email/. Dieser Script kann eigentlich zu viel, weil er ja alle Links "anklickt". Kennt jemand ein Beispiel, was nur einen Link "anklickt"? Falls das klappen sollte: Ist es überhaupt möglich, dass OL-VBA dann auch noch in der Dialogbox auf "ok" "klickt" damit der Download startet?
Viele Grüße
Frank
franky43
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 190
Registriert: 11. Jun 2014, 15:49

Re: Automatisch Links aus Mails anklicken

Beitragvon mmarkus » 29. Apr 2019, 07:58

franky43 hat geschrieben:Dieser Script kann eigentlich zu viel, weil er ja alle Links "anklickt". Kennt jemand ein Beispiel, was nur einen Link "anklickt"?


Nein, das Script kann zu wenig.
Sollte das Mail mehrere Links haben, aber nur einer davon soll verwendet werden, dann muss das Script irgendwie verifizieren können welcher Hyperlink verwendet werden soll.

Aus meiner Sicht ist der Aufwand für den möglichen Benefit viel zu hoch, außer das Lernen steht im Vordergrund.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1576
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Automatisch Links aus Mails anklicken

Beitragvon franky43 » 29. Apr 2019, 18:37

Ok, es soll eigentlich nur ein bestimmter Link aus der Mail vom Script "angeklickt" werden und das ist in dem Code-Beispiel nicht vorgesehen. Wenn das allerdings aufwändig ist, kann man es auch weglassen. Die weiteren Links in der Mail sind nur die Speicherorte für GIFs. Speichert der Script alle Links, wird halt täglich das selbe GIF abgespeichert und das wäre ja nicht so wichtig.
Ich bin eigentlich davon ausgegangen, dass dieses Problem "Speichern einer verlinkten Datei" schon sehr viele Menschen hatten und es somit sicherlich eine VBA-Lösung dafür gibt. Leider ist die Recherche danach schwierig, weil es zu Suchwörtern rund um "Link" und "Outlook" endlos viele Treffer gibt, die nichts damit zu tun haben. Deshalb war meine Hoffnung, dass hier jemand bessere VBA-Script-Quellen kennt, in denen ich suchen könnte.
Viele Grüße
Frank
franky43
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 190
Registriert: 11. Jun 2014, 15:49

Re: Automatisch Links aus Mails anklicken

Beitragvon mmarkus » 30. Apr 2019, 07:56

franky43 hat geschrieben:es soll eigentlich nur ein bestimmter Link aus der Mail vom Script "angeklickt" werden


Nochmals: Woran soll das Script diesen Link erkennen?
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1576
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Automatisch Links aus Mails anklicken

Beitragvon franky43 » 30. Apr 2019, 10:12

Der Link, der angeklickt werden soll, ist immer hinter einem eindeutigen Button namens "Bericht aufrufen" hinterlegt. Im Nur-Text-Format folgt der Link immer auf direkt nach "Bericht aufrufen". In der HTML-Mail beinhaltet der Link zusätzlich immer ein eindeutiges Schlüsselwort. Vermutlich lassen sich im Quelltext der Mails noch weitere eindeutige Identifikatoren für den richtigen Link finden.

Viele Grüße
Frank
franky43
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 190
Registriert: 11. Jun 2014, 15:49

Re: Automatisch Links aus Mails anklicken

Beitragvon mmarkus » 30. Apr 2019, 10:26

franky43 hat geschrieben:In der HTML-Mail beinhaltet der Link zusätzlich immer ein eindeutiges Schlüsselwort.


Im Code Beispiel siehst du ja wie die Hyperlinks Auflistung mit For each durchlaufen wird.
Versuch einfach anhand der Eigenschaften des Hyperlinks den richtigen Link anhand des Schlüsselwortes zu finden.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1576
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich

Re: Automatisch Links aus Mails anklicken

Beitragvon franky43 » 30. Apr 2019, 10:39

ja, das sollte klappen. Wenn nun der Script auf den richtigen Link klickt, wird dieser im Browser geöffnet und die Generierung des Berichts als download gestartet. Es öffnet sich eine Dialogbox zum Download des Berichts. Wie kann ich dann Outlook sagen, dass es in dieser Dialogbox mit "OK" bestätigen soll? Nur dann wird der Bereicht ja auch auf meinen Rechner runtergeladen.
Viele Grüße
Frank
franky43
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 190
Registriert: 11. Jun 2014, 15:49

Re: Automatisch Links aus Mails anklicken

Beitragvon DerHoepp » 30. Apr 2019, 14:12

Hallo Frank,

Das:
dieses Problem "Speichern einer verlinkten Datei" schon sehr viele Menschen hatten und es somit

ist aber eine ganz andere Problemdarstellung als:
Der Link, der angeklickt werden soll,


Daher sollten wir deine Problemdarstellung zuerst zweiteilen und klarstellen.
Teil 1: Identifikation des richtigen Hyperlinks
a) Dir liegt eine Mail im HTML-Format vor, und du kannst anhand eines gleichbleibenden musters den anchor und sein href-Attribut identifizieren
a1) -> Es ist immer der zweite Hyperlink im HTML-Body
a2) -> Der anchor hat eine eindeutige ID, die sich nicht ändert.
b) Du hast eine RTF-E-Mail, bei der eine URL im Fließtext steht, und sich mit HIlfe eines regulären Ausdrucks extrahieren lässt
c) Du bist dir nicht sicher, wie du den Link eindeutig identifizieren kannst und stellst uns deswegen den Quelltext hier zur Verfügung.

Teil 2: "herunterladen"
a) Du hast eine URL zu einer Datei an einem Internetspeicherort und möchtest die dort liegende Datei auf deiner Festplatte speichern?
Oder b): Du möchtest das Klicken eines Hyperlinks simulieren und dann mit dem Standardbrowser beliebiges machen?
Oder c): Deine URL ruft ein Serverskript auf, welches einen Bytestream/json-stream/xml-stream generiert und nach Bearbeitung zurückgibt, den du in eine Datei auf deiner Festplatte umleiten möchtest?
Oder d): Du bist dir nicht sicher, was dahinter stehst und stellst uns eine funktionierende Beispiel URL zur Verfügung.

Viele Grüße auch von mir!
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8218
Registriert: 14. Mai 2013, 11:08

Re: Automatisch Links aus Mails anklicken

Beitragvon franky43 » 30. Apr 2019, 21:57

a) Dir liegt eine Mail im HTML-Format vor, und du kannst anhand eines gleichbleibenden musters den anchor und sein href-Attribut identifizieren

ja, so ist es.

a1) -> Es ist immer der zweite Hyperlink im HTML-Body

ja, auch das trifft zu, es ist immer der 3. Link

c) Du bist dir nicht sicher, wie du den Link eindeutig identifizieren kannst und stellst uns deswegen den Quelltext hier zur Verfügung.

könnte ich auch machen, wenn es nötig ist.

Teil 2: "herunterladen" a) Du hast eine URL zu einer Datei an einem Internetspeicherort und möchtest die dort liegende Datei auf deiner Festplatte speichern?

ja, so kommt es mir vor. Ich habe in der Web-Oberfläche eines Anbieters, für den ich keine Schleichwerbung machen möchte, einen "Report" definiert. Das sind ein paar Regeln in der Art "Liefere mir die Zahlen xy zum Zeitraum z" und schicke mir täglich eine Mail mit dem Berichtslink. Manuell läuft das so: Die Mail mit dem Link kommt rein, ich klicke auf den Link, der Browser (in dem ich beim Anbieter eingeloggt bin) öffnet einen neuen Tab und in dem Link steckt die Info, welcher Bericht nun generiert werden soll. Dann "arbeitet" der Berichtsserver des Anbieters ein paar Sekunden und anschließend poppt das Download-Fenster auf. Dort ist dann der Berichtsname mit CSV-Erweiterung vorausgefüllt und ich klicke auf "OK". Dann wird die CSV-Datei in das Default-Verzeichnis auf meinem Rechner heruntergeladen. Das möchte ich automatisieren.
Ich würde sagen, es ist ähnlich wie du beschreibst aber der Bericht liegt dort noch nicht fertig herum sondern wird erst erstellt, wenn ich auch wirklich auf den Link in der Mail klicke.
Viele Grüße
Frank
franky43
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 190
Registriert: 11. Jun 2014, 15:49

Re: Automatisch Links aus Mails anklicken

Beitragvon DerHoepp » 02. Mai 2019, 11:42

Hallo Frank,

Das Auslesen des Links solltest du also schaffen, in dem du den HTML-Quelltext verarbeitest. Das ist aber nur der erste Schritt. Es stellen sich mehrere Probleme.
1. Das Outlook-Application-Objekt kennt keine .FollowHyperlink-Methode. Auch sonst habe ich im Objektkatalog nichts vergleichbares gefunden.
Wenn du also die URL extrahiert hast, kannst du
a) entweder ein Excel-Objekt instanzieren und dort die .FollowHyperlink-Methode ausborgen,
b) die Url mit Hilfe der Shell als Commandline-Option an den Browser deiner Wahl schicken
c) Ein InternetExplorer.Application-Objekt instanzieren und nuten
d) Mit HIlfe des xmlHttp2.0-Objektes eine Request senden

2. Wenn du nicht nur öffnen, sondern direkt herunterladen willst, bietet sich die Methode 1.d von oben an. Das Problem:
Die Methode ist (im Office-Bereich) nicht weit verbreitet. Wenn du nicht selbst in der Lage bist, dich in die Technologie einzuarbeiten, brauchst du seeeeeehr viel Unterstützung dafür. Weil es allein schon für den Request-Header hunderte Varianten gibt, ist es am allerwichtigsten zu wissen, dass derjenige, der HIlft die echte Seite und den Zugriff darauf kennen muss. Wie funktioniert der Login, welche Verschlüsselung ist gewählt, wie wird die SessionID übertragen? Müssen Cookies gespeichert werden? Sonst ist das alles Raterei. Auf Verdacht helfen hilft da nix. Zudem wirst du das Problem haben, dass Helfer in den Foren hier, die Erfahrung im Umgang mit dem entsprechenden Objekt haben, rar gesät sind. Es handelt sich dabei explizit nicht um ein Problem, was irgendetwas mit den Office-Klassenbibliotheken zu tun hätte.

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8218
Registriert: 14. Mai 2013, 11:08

Re: Automatisch Links aus Mails anklicken

Beitragvon franky43 » 02. Mai 2019, 17:27

Hallo,
ganz herzlichen Dank für deine Erläuterungen. Das dürfte der Grund sein, warum ich bislang keine veröffentlichte Lösung bzw. einen (für mich) anpassbaren Script gefunden habe.
Das eine von dir angesprochene Problem ist einfach lösbar: Man kann sehr einfach einen Test-Account machen und ich kann die echten Berichts-Mails von dort schicken lassen. Allerdings sind die angesprochenen Lösungsansätze weit jenseits meiner Fähigkeiten. Wie sind da ohnehin jenseits von Problem-Hilfe im Forum sondern im Bereich der Individualprogrammierung. Wenn jemand sagt: Ich habe Lust, diese "Nuss zu knacken" (du?) und möchte x Euro für eine Lösung, freue ich mich über eine Nachricht ;-)
Viele Grüße
Frank
franky43
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 190
Registriert: 11. Jun 2014, 15:49

Re: Automatisch Links aus Mails anklicken

Beitragvon DerHoepp » 03. Mai 2019, 08:23

Hallo franky,

(du?)

Auch wenn ich das Thema an sich ganz interessant finde, eher nicht, sorry.

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8218
Registriert: 14. Mai 2013, 11:08

Re: Automatisch Links aus Mails anklicken

Beitragvon franky43 » 08. Mai 2019, 13:55

Hallo derHöpp,
ich habe jetzt eine Weile gewartet, ob eine PM reinkommt... aber niemand traut sich ;-). Ich mag eigentlich nicht bei den großen Anbietern anklopfen sondern möchte lieber Leute bezahlen, die auch in Foren helfen. Kennst du noch jemanden, der an der Lösung des Problems interessiert sein könnte?
Viele Grüße
Frank
franky43
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 190
Registriert: 11. Jun 2014, 15:49


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: mmarkus und 1 Gast