calibra22 10 Geschrieben 12. September 2010 Melden Teilen Geschrieben 12. September 2010 Hallo, ich hab derzeit eine bissle knifflige Frage und komm nicht mehr weiter. Folgendes möchte ich schaffen: Ich habe im Internet eine Seite, die mir eine Statistik ausgibt. Diese Statistik möchte ich im Abstand von 10 Minuten (oder auch mehr) per Klick auf einen "Start-Button" ausführen. Jetzt habe ich mit Makros probiert, also mit Aufzeichen etc. Dieses funktioniert soweit schon, allerdings bekomme ich nicht den zeitlichen Abstand von 10 Minuten gepacken. Was habe ich gemacht: Ich habe ein Makro erstellt, nennen wir es Abfrage1_2. Habe den Start-Button mit diesen Makro "Abfrage1_2" verknüpft. In dieser Abfrage sind zwei Abfragen intergriert. Jetzt führt er das Makro aus, und holt sich jetzt zwei mal die Statistik bzw. deren Werte. Da aber jetzt die Werte gleich hintereinander abgeholt werden, paßt es so nicht :-) Gibt es einen Befehl, den ich in VB eingeben muss, damit es zeitlich versetzt die zwei Abfrage ausgeführt wird? Wer kann helfen ;-) Vielen Dank schon mal im Voraus! Mfg Michael Zitieren Link zu diesem Kommentar
Esta 114 Geschrieben 13. September 2010 Melden Teilen Geschrieben 13. September 2010 Hallo calibra22, den Befehl, den du suchst heißt Wscript.Sleep danach gibst du die Anzahl der Minuten ein, die gewartet werden sollen. Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 13. September 2010 Autor Melden Teilen Geschrieben 13. September 2010 Hi Esta, vielen Dank für die baldige Antwort Montag morgen :-) ich werde das mal probieren ... den Befehl einfach zwischen den beiden Abfragen einbauen oder? ich meld mich :-) Gruß Michael Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 13. September 2010 Autor Melden Teilen Geschrieben 13. September 2010 so in etwa? Sub Abruf1_2() ' ' Abruf1_2 Makro ' Abruf von zwei Datensätzen ' ' With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://192.168.2.253:8081/1.1.2/htm/allh1.htm", Destination:=Range( _ "$A$6")) .Name = "allh1_14" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = True .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlAllTables .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With [b]Wscript.Sleep 5[/b] Range("A8").Select With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://192.168.2.253:8081/1.1.2/htm/allh1.htm", Destination:=Range( _ "$A$8")) .Name = "allh1_15" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = True .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlAllTables .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 13. September 2010 Melden Teilen Geschrieben 13. September 2010 Bei der Sleep-Methode ist die Zeit nicht in Minuten sondern in Millisekunden anzugeben! Sleep Method Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 13. September 2010 Autor Melden Teilen Geschrieben 13. September 2010 Hallo, ich habe den Wert auf 60000 Millisekunden gesetzt. Allerdings will er jetzt ein Objekt? Dieser Fehler kommt wenn ich den Code ausführe: Laufzeitfehler 424 Objekt erforderlich und das ist mein Code: Sub Abruf1_2() ' ' Abruf1_2 Makro ' Abruf von zwei Datensätzen ' ' With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://192.168.10.247:8081/1.1.2/htm/allh1.htm", Destination:=Range( _ "$A$6")) .Name = "allh1_14" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = True .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlAllTables .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With [b]Wscript.Sleep 60000[/b] Range("A8").Select With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://192.168.10.247:8081/1.1.2/htm/allh1.htm", Destination:=Range( _ "$A$8")) .Name = "allh1_15" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = True .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlAllTables .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub Der Ablauf (siehe Code) wurde mit Makro aufzeichnen erstellt. Mein Ziel ist es, die beiden Abfrage zeitlich hintereinander mit einer festgelegten Zeit ablaufen zu lassen. vielen Dank für eure Unterstützung! Gruß Michael Zitieren Link zu diesem Kommentar
Esta 114 Geschrieben 13. September 2010 Melden Teilen Geschrieben 13. September 2010 Hallo calibra22, IMHO muß diese Zeile set wshshell=createobject("wscript.shell") noch mit am Anfang in das Script. @Cybquest, danke für's korrigieren. War wohl gestern doch etwas "früh" für's Beantworten. ;) Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 13. September 2010 Autor Melden Teilen Geschrieben 13. September 2010 Hallo Esta, vielen Dank für die Hilfe. Ich bin absolut blutiger Anfänger ;-) Sub Abruf1_2() [b]set wshshell=createobject("wscript.shell")[/b] ' Abruf1_2 Makro ' Abruf von zwei Datensätzen ' ' With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://192.168.10.247:8081/1.1.2/htm/allh1.htm", Destination:=Range( _ "$A$6")) .Name = "allh1_14" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = True .PreserveFormatting = True da oben gleich rein ? habe das probiert, und er bringt wieder diesen Laufzeitfehler... wo ist mein "Problem" :-( Gruß Michael Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 13. September 2010 Melden Teilen Geschrieben 13. September 2010 Hallo, in Excel VBA heisst der Befehl nicht "Wscript.Sleep", sondern "Application.Wait" Wait Method [Excel 2003 VBA Language Reference] cu blub Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.