Resultate automatisieren in Excel

croxxx69

Lt. Junior Grade
Registriert
Sep. 2007
Beiträge
445
Hallo,

kenne mich nicht so gut aus, darum hoffe ihr könnt mir helfen.
Also ich habe die Trackingnummer meiner Sendung, die ich auf der Page der Post (nicht die deutsche, ein anderes Land) eintragen kann, und as kann man ohne "Roboter-Test", also muß keine Codes eingeben damit mich die Seite als Mensch akzeptiert.
Würde gerne das ich die Trackingnummer einmal eingebe und das mir vielleicht in Excel oder sonst wo, ein Programm nach "Update" Funktion selber guckt ob das Paket angekommen ist oder nicht... Also bei einer Versendung geht es ja noch aber was ist wenn man paar hat, dann würde es super sein das man ein klick macht und die Daten automatisch aktualisiert werden, ohne das ich manuell auf die Seite gehen muß.
Gibt es was? Programm, Browser-Addon, oder etc.?
 
Oh je... hmm... das wird schwierig... Und womit macht man das eigentlich?
Würde es am leichtesten mit Excel und Makros gehen? Vielleicht gibt es ja "angefertigte"?
Links in einer Zeile und wenn man den Makros startet, dann überprüft er entweder die letzte Zeile und kopiert die einfach in der Excel Datei rein, oder er kopiert nur dann wenn z.Bsp. der Text Paket angekommen steht...
 
Zuletzt bearbeitet:
Über wieviele Sendungen reden wir denn? Und wie regelmäßig erfolgen die Sendungen?

Eine einfache Lösung wäre ein simpler Link. Normalerweise kann man eine Webseite mit Formularfeldern auch direkt über die URL mit Werten füttern. Wenn du die Trackingseite aufrufst, wird in der URL vermutlich sowas stehen wie "https://......./tracking?id=12345" So einen Link kannst du in Excel auch ganz simpel zusammenbauen und so fütterst du nur noch deine Tabelle mit den IDs und kannst direkt auf den Link klicken.

Automatisiert geht sowas natürlich auch, aber das beinhaltet Programmierung. Du müsstest dann mittels Makro diese Seite aufrufen und den Inhalt parsen, also den Statustext auslesen. Hier wäre ein Beispiel wie sowas aussehen könnte.
 
  • Gefällt mir
Reaktionen: PHuV
So einfach ist das nicht. Abstrakt beschrieben:
Du willst auf einer Webseite eine automatisierte Statusabfrage mit einem bestimmten Wert stellen und das Ergebnis bei Dir in irgendeiner Form gespeichert haben.
  • Gespeicherte ID auslesen (Datei, Datenbank etc.)
  • HTTP Request mit ID an Zielseite
  • HTTP Antwort abspeichern und auswerten
Und dafür mußt Du nun mal etwas programmieren können.
 
Also hier ein Beispiel:
https://tnt.posta.hr/hptnt/index.xhtml?tntnumber=LE420866020HR
Wenn wie in der Letzten Zeile steht:
"Pošiljka uručena primatelju"
Dann ist angekommen und auch nur dann. Das kann er von mir aus kopieren oder nur ein OK oder mit Farbe grün machen... So einfach wie möglich

Oder auch hier:
https://posiljka.posta.hr/Tracking/Details?Barcode=cc041534225hr

Es gibt da noch die Chrome Addon:
https://chrome.google.com/webstore/detail/hrvatska-pošta/emljkbgckigdjdfijbjfobbdaedhogdb

Vielleicht kann man da noch einfacher ran?

OOOODer eventuell, wenn man es so machen würde das man es in Bookmarks speichert und wenn man alle Tabs öffnet, das dann die Tabs geschlossen werden bei denen das Paket angekommen ist, wäre aber etwas unübersichtlicher, am liebsten in Excel rein und fertig.
 
Zuletzt bearbeitet:
croxxx69 schrieb:
Dann hast du ja schon mal den ersten Schritt. In Excel musst du dann lediglich den Teil bis zum = als Festwert um die TrackingID per Formel erweitern. (zB ="https...." & A1"). Die Zelle formatierst du als Link und dann sollte das auch schon klickbar sein. Für die Automatisierung siehe den Link oben. Dort wird ein möglicher Lösungsweg beschrieben.



Just in case: Erwarte nicht, dass hier jemand ein fertiges Makro postet - kann passieren, muss aber nicht. Du wirst also zumindest erstmal versuchen müssen, das Makro selbst zu basteln.
 
  • Gefällt mir
Reaktionen: croxxx69
Wenn das alles immer so einfach wäre, könnte es jeder, und man bräuchte nicht so IT Fuzzies wie uns, die sowas jeden Tag lösen. ;)

Und wie Raijin es korrekt sagt, fertig wird es sowas nicht geben, weil es ein Spezialfall für Dich ist, der eben so nicht jeden Tag vorkommt. Da hilft nur sich hinsetzen, einlesen, und probieren, bis es geht.

Kennst Du keinen, der IT-Ler ist und programmieren kann? Für einen Linuxer ist das ein paar Zeilen Code in einem Script, und mit Powershell läßt sich sowas bestimmt auch entsprechend programmieren.
Ergänzung ()

Übelst müde nach 10 Studen Arbeiten und gerade lernen für eine Prüfung mal schnell in Linux mit bash hingerotzt.

Ergebnis ist eine Datei im CSV-Format (Datei-Trenner mit ; ), welche dann mit Excel eingelesen werden kann.

Wenn Du die Cygwin-Tools für Windows installierst, kannst Du das sogar bei Dir laufen lassen. Das sollte aber nur mal ein Beispiel sein, wie man sich sowas selbst scripten könnte.

Datei in einen Namen speichern und Berechtigung zum Schreiben geben, Programm mit ID aufrufen:
Code:
get_label_id.sh
chmod +x get_label_id.sh

user@server:~/1$ ./get_label_id.sh
Usage: get_label_id.sh Sendungsnummer/PacketID
z.B. ./get_label_id.sh LE420866020HR

Das eigentliche Programm als bash Shell.
Code:
#!/bin/bash

id=$1

if  [ $# -lt 1 ];then
        echo "Usage: `basename $0` Sendungsnummer/PacketID"
        echo "z.B. $0 LE420866020HR"
        exit 0
else
        shift 1
fi

DATUM=`date +%d.%m.%Y`
HTTPSTRING="https://tnt.posta.hr/hptnt/index.xhtml?tntnumber="
TRACKINGSTAT="Pošiljka uručena primatelju"
FEHLERSTAT="Nema podataka za uneseni prijamni broj pošiljke"
FILECONTENT=${id}.stat.html
EXCELDATEI=meine.paketliste.csv

wget ${HTTPSTRING}${id} -O ${FILECONTENT}

grep "${TRACKINGSTAT}" ${FILECONTENT} >/dev/null
rc=$?

if [ $rc -eq 0 ];then
        echo "Sendung zugestellt"
        echo "${id};Zugestellt;$DATUM" >> $EXCELDATEI
else
        grep "${FEHLERSTAT}" ${FILECONTENT} >/dev/null
        rc=$?
        if [ $rc -eq 0 ];then
                echo "Fehler: Sendung mit <${id}> gibts gar nicht!!!"
                echo "${id};Gibtsnicht;$DATUM" >> $EXCELDATEI
                exit 42
        fi
        echo "Sendung noch offen"
        echo "${id};offen;$DATUM" >> $EXCELDATEI
fi

rm -f ${FILECONTENT}
Bloß nicht verwenden, und das kann man bestimmt noch schicker und besser und schöner machen. Ich wollt nur mal wissen, ob ich das noch auf die Schnelle hinbekomme.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Raijin
@ Alle: ein anderer Ansatz...

wget https://tnt.posta.hr/hptnt/index.xhtml?tntnumber=LE420866020HR liefert das File "index.xhtml\?tntnumber\=LE420866020HR"

grep "Pošiljka uručena primatelju" index.xhtml\?tntnumber\=LE420866020HR ; echo $?
liefert "0" -> gefunden

Beide Programme gibt es meines Wissens als Exe-File auch für Windows. Sie lassen sich aus Excel aufrufen, ein simples Makro genügt.

Edit: Nebenbei...wie maskiere ich denn das @ so dass @ All zusammengeschrieben nicht als Userverweis interpretiert wird?
 
Ja, würde es ja sicherlich alleine alles machen wenn ich denn wüßte wie und leider ist bisschen Englisch bei mir holprig, gibt es sowas auf deutsch?
Habe einen Mac... gibt es was dafür?
 
MAC ist prima, einfach das Script nehmen, mit einem Editor und einem Namen abspeichern, und dann kannst Du es direkt verwenden. Wenn Du willst, bastle ich noch schnell eine Schleife darum, dann kannst Du mehrere PacketIDs hintereinander abfragen. Dazu bräuchte ich aber mal von Dir einen csv-Export einer Liste Deiner Packetlabels.

Wenn Du programmierst, kommst Du um Englisch leider nicht rum, weil fast alle Programmiersprachen auf englisch arbeiten.
 
Zuletzt bearbeitet:
Versuche gerade das hier:
Raijin schrieb:
Dann hast du ja schon mal den ersten Schritt. In Excel musst du dann lediglich den Teil bis zum = als Festwert um die TrackingID per Formel erweitern. (zB ="https...." & A1"). Die Zelle formatierst du als Link und dann sollte das auch schon klickbar sein. Für die Automatisierung siehe den Link oben. Dort wird ein möglicher Lösungsweg beschrieben.
Irgendwie kann ich es nicht als Link formatieren?

EDIT: Jupiii, geschafft... hier ein Beispiel:
=HYPERLINK("https://posiljka.posta.hr/Tracking/Details?Barcode="&B10&"")
 
Zuletzt bearbeitet:
Zurück
Oben