Jump to content

Excel 2010: VBScript damit zwei Makros mit 10 Minuten Abstand starten


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...