Excel als .txt exportieren, inkl. Schleifen

  • Excel

    Excel als .txt exportieren, inkl. Schleifen

    Hallo zusammen,

    ich verzweifel hier langsam. Habe in meiner Ausbildung 3 Jahre lang Java gehabt, letzte Klausur mit einer 6,0 abgegeben und versuche mich gerade an VBA. Ich weiß nicht woran es liegt, ich verstehe einfach keine Programmiersprache.

    Zum Problem:
    Ich nutze ein Tool namens Executor. Das Tool ermöglicht einem Keywords mit einem command zu verknüpfen.
    Beispiel 1: keyword=youtube - command=https://www.youtube.com
    Beispiel 2: keyword=amazon - command=C:\Program Files\Mozilla Firefox\firefox.exe - param=https://www.amazon.de

    Ihr denkt euch jetzt eventuell: "Da kann ich doch genauso Google benutzen." Allerdings lassen sich über das Tool auch Dateien und Programme öffnen.
    Da ich mittlerweile über 200 Keywords habe und das pflegen sowie hinzufügen im Executor selbst umständlich ist habe ich nun ein Excel erstellt.

    Das Excel sieht folgendermaßen aus:

    Spalte A Spalte B Spalte C
    Zeile 1 Entertainment
    Zeile 2 youtube youtube.com
    Zeile 3 twitch C:\Program Files\Mozilla Firefox\firefox.exe twitch.tv

    Das Word soll so aussehen:

    [W1]
    keywords=youtube
    command=https://www.youtube.com

    [W2]
    keywords=twitch
    command=C:\Program Files\Mozilla Firefox\firefox.exe
    paramter=https://www.twitch.tv

    Was passieren soll:
    Wenn Spalte B leer ist, soll nichts passieren. So kann ich ihm Excel eine Überschriftszeile nutzen.
    Wenn Spalte B nicht leer ist, soll ein Zähler um 1 erhöht werden. Also irgendwie so: Print #Filename, "[W"; CStr(Zähler) & "] "
    Wenn Spalte C leer ist sollen nur Spalte A und B ausgegeben, wenn Spalte C nicht leer ist dann sollte Spalte C ausgegeben werden.



    Bisher sieht mein VBA-Code folgendermaßen aus:

    Sub TXT_Exportieren()
    Dim lngSpalte As Long
    Dim lngZeile As Long
    Dim strHeader As Variant
    Dim Filename As Long
    'Datei wird geöffnet oder angelegt, wenn sie nicht existiert.
    'oder einfach überschrieben, wenn sie bereits existiert
    Filename = FreeFile
    Open "C:\Test\test.txt" For Output As #Filename

    'Zuerst wird ein StringArray "strHeader" erzeugt, das die Spalten-
    'überschriften enthält. Dieses StringArray wird dann in am
    'Anfang jeder Zeile in die Textdatei geschrieben.
    strHeader = Range(Range("A1"), Cells(1, ActiveSheet.UsedRange.Columns.Count))

    If Range("B").Value = "" Then
    For lngZeile = 2 To ActiveSheet.UsedRange.Rows.Count
    Print #Filename, "[W"; CStr(lngZeile - 1) & "] "
    Print #Filename, "keyword="
    Print #Filename, "command="
    Print #Filename, "param="
    Next

    Close #Filename
    End Sub


    Würde mich über jede Hilfe freuen, ich bekomme es einfach nicht auf die Reihe..