VBA – die besten Beiträge

Rechnungen automatisieren?

Mein Vater besitzt ein Reisebüro und derzeitig schreibe ich alle Rechnungen manuell auf. Ich habe zwar einige Schritte automatisiert, durch ein eigenes Python-Programm, sodass Rechnungsnummer, Summe der Kosten, Fluggesellschaft, Name usw. automatisch von der Excel Datei importiert und in eine Word Datei eingetragen werden. Allerdings muss ich die Flugdaten alle selber manuell eingeben, d.h. die Strecke, Abflug und Ankunft und das Datum. Diese muss ich zudem erstmal raussuchen, indem ich die entsprechende Bestätigungs-Mail für den Flug aus dem "E-Mail-Archiv" finde.

Dazu kommt noch, dass er bei verschiedenen Fluggesellschaften bucht, die ihre Daten alle anders in der Mail abbilden, bzw sogar manchmal nur als Datei anhängen, die ich runterladen muss, wodurch es sehr anstrengend ist, diese Rechnungsdaten einzutragen.

Ich denke mir, dass es definitiv eine bessere Methode geben muss, selbst wenn diese Geld kostet, dennoch kann ich mir nicht vorstellen, wie so etwas funktionieren soll, da das Programm, wenn es eins geben sollte, es irgendwie schaffen muss, all diese Daten in den verschiedensten Darstellungsformen zu verstehen.

Hat Jemand Erfahrungen mit sowas bei der Arbeit oder führt möglicherweise selbst ein Reisebüro???

Computer, Microsoft Word, Buchhaltung, Microsoft, Microsoft Excel, Rechnung, E-Mail, IT, Microsoft Office, VBA, B2B, BWL, CRM, Firma, Fluggesellschaft, Formel, Informatik, Rechnungsstellung, Rechnungswesen, Reisebüro, Unternehmen, Excel-Formel, buisnes, Office 365

Bashskript Problem?

Ich habe hier ein Bashskript, welches Dateien überwacht (noch nicht vollständig und absolut unoptimiert). Ich weiß, dass es Tools gibt, aber es ist ein Projekt für die Uni und deshalb ist Optimierung und Effizienz nicht wirklich wichtig. Ich möchte damit die Grundlagen des Shellscriptings einfach etwas lernen.

Das ist bisher das Script:

#!/bin/bash


echo "Das Skript wurde gestartet. Der Typ Ihres Betriebssystem ist "\"$OSTYPE\""."


# If-Abfrage, die das Betriebssystem erkennt und den Pfad zum überwachten Ordner oder Datei festlegt # HIER BITTE DIE PFADE ZUM ZU ÜBERWACHENDEN ORDNER EINTRAGEN   
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
    BASE_DIRECTORY=" " # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = Linux
elif [[ "$OSTYPE" == "darwin"* ]]; then
    BASE_DIRECTORY="/Users/name/Library/CloudStorage/GoogleDrive-email@gmail.com/Meine Ablage/Uni/TestOrdner" # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = MacOs
elif [[ "$OSTYPE" == "win32" || "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
    BASE_DIRECTORY="/g/Meine Ablage/Uni/TestOrdner" # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = Windows
else    
    echo "Das Betriebssystem ist unbekannt." # Wenn das Betriebssystem unbekannt ist, wird eine Fehlermeldung ausgegeben
    exit 1
fi


DIRECTORY="$BASE_DIRECTORY" # Pfad zum Ordner
FILE="$BASE_DIRECTORY/Datei.txt" # Pfad zur Datei   
FILE2="$BASE_DIRECTORY/Datei2.txt" # Pfad zur Datei2 


cd "$BASE_DIRECTORY" || {
    echo "Wechsel zu $BASE_DIRECTORY fehlgeschlagen!" # Wechselt in den TestOrdner oder gibt eine Fehlermeldung aus
    exit 1;
}



# Funktion, um zu überprüfen, ob Dateien gelöscht wurden
checkIfDeleted() {
    if [ ! -f "$FILE" ]; then 
        echo "Die Datei \"$(basename "$FILE")\" wurde gelöscht, umbenannt oder verschoben."
    elif [ ! -f "$FILE2" ]; then
        echo "Die Datei \"$(basename "$FILE2")\" wurde gelöscht, umbenannt oder verschoben."
    elif [ ! -d "$DIRECTORY" ]; then
        echo "Der Ordner \"$(basename "$DIRECTORY")\" wurde gelöscht, umbenannt oder verschoben."
    fi
}


# Speichert den "ursprünglichen" Hash-Wert der Dateien
ORIGINAL_HASH=$(md5 -q "$FILE")
ORIGINAL_HASH2=$(md5 -q "$FILE2")


checkIfEdited() {
    if [ ! -f "$FILE" ]; then # Wenn $FILE nicht existiert, dann wird das Skript hier beendet
    return
    fi


    if [ ! -f "$FILE2" ]; then # Wenn $FILE2 nicht existiert, dann wird das Skript hier beendet
    return
    fi


    if [ ! -d "$DIRECTORY" ]; then # Wenn $DIRECTORY nicht existiert, dann wird das Skript hier beendet
    return
    fi


    # Berechnet den aktuellen Hash-Wert der Dateien
    CURRENT_HASH=$(md5 -q "$FILE")
    CURRENT_HASH2=$(md5 -q "$FILE2")


    # Hash-Werte werden verglichen
    if [ "$CURRENT_HASH" != "$ORIGINAL_HASH" ]; then
        echo "Die Datei \"$(basename "$FILE")\" wurde bearbeitet."
        # Ursprünglicher Hash-Wert wird für zukünftige Überprüfungen aktualisiert
        ORIGINAL_HASH="$CURRENT_HASH"
    elif [ "$CURRENT_HASH2" != "$ORIGINAL_HASH2" ]; then
        echo "Die Datei \"$(basename "$FILE2")\" wurde bearbeitet."
        # Ursprünglicher Hash-Wert wird für zukünftige Überprüfungen aktualisiert
        ORIGINAL_HASH2="$CURRENT_HASH2"
    fi
}


while true; do # Endlosschleife, die die Funktionen "checkIfDeleted" und "checkIfEdited" alle 10 Sekunden ausführt
    checkIfDeleted
    checkIfEdited
    sleep 10
done

Ja, ich weiß, welche Probleme das Skript mit sich bringt, aber ich habe ein anderes Problem:

Wenn jemand das Skript nutzen möchte, muss er die Pfade seiner Dateien einfügen und sogar neue Variablen definieren.

Man könnte das doch so machen, dass das Skript die Liste des Ordners einliest und dann auf alle Dateien direkt zugreifen muss, ohne dass man sie in das Skript einfügen muss.

Also irgendwie mit dem Befehl "ls". Ich weiß aber nicht, wie ich das implementieren soll.

Kann mir wer helfen bitte?

Visual Basic, Linux, HTML, Webseite, VBA, Bash, Batch, cmd, Code, lua, MySQL, PHP, Programmiersprache, Python, Script, Python 3

Preisvergleich-Tool in Microsoft Excel bauen?

Guten Abend liebe GF-Community.

Ich würde mir gerne für den Privaten gebrauch sowas ähnliches wie diese Preisvergleich Seite in Microsoft Excel bauen wollen. Wenn möglich ohne VBA da ich mich bei Formeln allgemein kaum auskenne und VBA nochmal ne andere Dimension ist die in Richtung Programmierung geht.

Bevor ich das alles aber bauen kann benötige ich erstmals ne Riesen Datenbank mit verschiedensten Daten damit man diese dann die Produkte und Artikel überhaupt erst untereinander Vergleichen kann. Klar könnte ich auch diese Webseite benutzen aber das möchte ich nicht da ich mir mein eigenes Design und so bauen möchte. Außerdem sind die Daten nicht immer aktuell und wenn ich das selber mache schon.

Wozu der Aufwand?

Naja ich möchte das letztendlich für die Planung meiner Einkäufe in Zukunft nutzen wenn ich mir dann meine Liste zusammen schreibe was ich alles benötige. Da wäre dann so ein Tool ultra hilfreich! Natürlich möchte ich auch alles andere so'n bisschen von der Webseite Übernehmen um Artikel oder Produkte besser zu finden in dem ich danach suchen oder gewissen Kriterien Filtern kann.

Es wäre auch cool wenn ich irgendeine Funktion für aktuelle Preis-Angebote einfügen könnte.

Ich weiss leider nicht wie ich das alles am besten in Excel Aufbauen soll/kann. Demnach wäre ich für jede Hilfe sehr dankbar!

Webseite:

Discounter-Preisvergleich

Mit freundlichen Grüßen

Robin | TechBrain.

Bild zum Beitrag
PC, Computer, Software, Windows, Microsoft, Office, Microsoft Excel, IT, Microsoft Office, VBA, Büro, Formel, Softwareentwicklung, Excel-Formel, Office 365

Meistgelesene Beiträge zum Thema VBA