emtidi Geschrieben Oktober 7, 2015 Geschrieben Oktober 7, 2015 HalloKann mir jemand bei einem Excel Problem helfen?Ich würde gerne per Excel eine Permanenz aus Duisburg auf meine Festplatte bringen. Die Permanenzdatei, die ich von der Webseitehttp://permanenzen.westspiel.de/default.aspx?casino=42erhalte, ist eine txt-Datei. Das ist allerdings nicht das Problem. Ich möchte in einem Excel Blatt in die A1 Spalte das Datum schreiben, in die B1 Spalte die Tischnummer, und in die C1 Spalte möchte ich das Zielverzeichnis eintragen, wo mir die Datei gespeichert werden soll. Beispielsweise:A1 = 01.01.2015B1 = 05C1 = D:\\DuisburgDie Prozedur würde ich dann per Befehlsschaltfläche starten. Kann mir dafür jemand ein Makro schreiben?Mit vielem Dank im vorausRainer
emtidi Geschrieben Oktober 9, 2015 Autor Geschrieben Oktober 9, 2015 HalloDa sich seit 2 Tagen immer noch niemand zu meinem Problem gemeldet hat, kann ich nur mutmaßen, daß entweder dieses Forum nur sehr schwach frequentiert wird oder aber alle Programmierer, die Kenntnis von dieser Materie haben, gerade anderweitig beschäftigt sind. Aber wie dem auch sei, mittlerweile habe ich dieses Problem selbst gelöst, es ist also keine Hilfe mehr notwendig. Nun habe ich mir allerdings gedacht, das alle User, die ebenso wie ich, verzweifelt auf der Suche nach einem derartigen Makro sind oder waren, meine Erkenntnisse zu übermitteln. Der erste Schritt, den man machen sollte, ist es auf einem leeren Excel Sheet eine Befehlsschaltfläche zu erzeugen. Dann habe ich mich dazu entschieden, nur das Datum einzugeben und nicht noch die Tischnummer, denn sonst kann man auch gleich von der Webseite die Tische einzeln herunterladen. Mein Makro ist nun so eingerichtet, daß die Tische 3-4-5-7-8-9-10-11-12-13-14-17-18, also 13 Tische pro Datum, welches in A1 steht, herunter geladen werden. Die Tische 1-2-6-15 und 16 machen eigentlich keinen Sinn, da sie zu wenig geöffnet sind. Wer aber trotzdem auch diese Tische laden möchte, der müsste im Makro an folgender Stelle Änderungen vornehmen.vTische = Split("3,4,5,7,8,9,10,11,12,13,14,17,18", ",") 'tischnummern als Zeichenkette mit "," getrenntAls nächstes muß ein Ordner namens D:\Test erstellt werden, ansonsten auch gerne jeder andere Ordner, aber nicht vergessen hier den Pfad zu ändern.Open "D:\Test\Ergebnisse_" & dDatum & "_Tisch" & strT & ".txt" For Output As #1Falls ihr an anderer Stelle ein Eingabefeld für das Datum erzeugen wollt, kein Problem; ändert an folgender Stelle: dDatum = Range("A1") 'DatumWas natürlich auch Sinn macht, ist es, zusätzlich noch einen Spinbutton zu erzeugen, welcher das Datum ändert, aber das sollte jeder für sich entscheiden. So nun kommen wir zum Code, den ihr nun nur noch in euer Excel Prg. stellen müsst, und dann wünsche ich allen Interessierten viel Spaß damit.RainerOption Explicit Private Sub CommandButton1_Click() Dim HttpReq As Object, strT As String, dDatum As Date Dim vTische As Variant Dim i As Long vTische = Split("3,4,5,7,8,9,10,11,12,13,14,17,18", ",") 'tischnummern als Zeichenkette mit "," getrennt dDatum = Range("A1") 'Datum For i = LBound(vTische) To UBound(vTische) 'Von unterstem Array-Element bis Oberstes Array-Element strT = vTische(i) 'Tischnummer aktuell aus Array auslesen. Set HttpReq = CreateObject("MSXML2.XMLHTTP") HttpReq.Open "GET", "http://permanenzen.westspiel.de/Download.ashx?casino=42&tisch=02" & Format(strT, "00") & _ "&tag=" & Format(Day(dDatum), "00") & "&monat=" & Format(Month(dDatum), "00") & "&jahr=" & Year(dDatum), False HttpReq.send If HttpReq.Status = 200 Then 'der Ordner "D:\Test" muss vorhanden sein!! Open "D:\Test\Ergebnisse_" & dDatum & "_Tisch" & strT & ".txt" For Output As #1 Print #1, HttpReq.responseText Close #1 End If Next i MsgBox " Alle Daten wurden übertragen !!" End Sub
Paroli Geschrieben Oktober 10, 2015 Geschrieben Oktober 10, 2015 Aber wie dem auch sei, mittlerweile habe ich dieses Problem selbst gelöst, es ist also keine Hilfe mehr notwendig. Nun habe ich mir allerdings gedacht, das alle User, die ebenso wie ich, verzweifelt auf der Suche nach einem derartigen Makro sind oder waren, meine Erkenntnisse zu übermitteln. Hallo emtidi, danke für deine sehr hilfreichen Infos.
Recommended Posts
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden