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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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. ;)

Geschrieben

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

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...