Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

application.ontime - irgendwo hängts!!!

Betrifft: application.ontime - irgendwo hängts!!! von: Stefan M
Geschrieben am: 13.05.2008 10:12:01

Hallo,

ich habe nachfolgenden Code geht excel mir immer in der errHandler: und gibt mir die Messagebox aus (obwohl die Datei vorhanden ist!!!).
wenn ich den Code über eine Userform aufrufe, dann funktioniert es.

Habt ihr ne Idee, wo der Fehler sein könnte???

Gruß
Stefan

Public Start As Boolean
Public Startzeit As Date

Sub Aufforderung()

If Start = True Then
If Dir("c:\wetterdaten\test.csv") <> "" Then
Sheets("importierte Daten").Select
Cells.Select
Selection.ClearContents
'Selection.QueryTable.Delete
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & TextBox2, _
Destination:=Sheets("importierte Daten").Range("A1"))
On Error GoTo errHandler
.Name = "ExterneDaten_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Else
MsgBox "Datei fehlt"
End If
End If

Exit Sub

errHandler:
MsgBox "Datei nicht gefunden, bitte richtigen pfad eingeben"


'Hinweis alle 15 Minuten
Application.OnTime Now + TimeSerial(0, 15, 0), "Aufforderung"
Startzeit = Now + TimeSerial(0, 15, 0)
End Sub



und diese Code habe ich in "DieseArbeitsmappe" eingefügt:



Private Sub Workbook_Open()
  Start = True 
  Call Aufforderung 
End Sub



Sub Workbook_BeforeClose(Cancel As Boolean)
'nach dem Schließen der Datei die Prozedur nicht mehr aufrufen
Application.OnTime EarliestTime:=Startzeit, Procedure:="Aufforderung", Schedule:=False
End Sub


  

Betrifft: AW: application.ontime - irgendwo hängts!!! von: Andi
Geschrieben am: 13.05.2008 10:29:34

Hi,

kommentiere mal die Zeile
On Error GoTo errHandler
aus und schau, welche Zeile beim debuggen markiert ist.

Schönen Gruß,
Andi


  

Betrifft: AW: application.ontime - irgendwo hängts!!! von: Stefan M
Geschrieben am: 13.05.2008 10:50:51

ich habs !!!

TextBox2 muss durch "c:\wetterdaten\test.csv" ausgestauscht werden. (TextBox2 stammt noch aus der UserForm)

Gruß

Stefan


  

Betrifft: AW: application.ontime - irgendwo hängts!!! von: Stefan M
Geschrieben am: 13.05.2008 11:20:13

ich hätte da noch ein anderes Problem, und zwar wird die ganze Sache nur beim Start ausgeführt, ich habe eingestellt, dass nach zwei Minuten erneut geprüft und importiert werden soll, jedoch passiert da nichts.


  

Betrifft: AW: application.ontime - irgendwo hängts!!! von: Stefan M
Geschrieben am: 13.05.2008 11:42:12

Jetzt gehts ... :D


Sub Aufforderung()

If Start = True Then
  Start = False
Else
     ' If Dir("c:\wetterdaten\test.csv") <> "" Then
    Sheets("importierte Daten").Select
    Cells.Select
    Selection.ClearContents
    'Selection.QueryTable.Delete
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & "c:\wetterdaten\test.csv", _
        Destination:=Sheets("importierte Daten").Range("A1"))
    'On Error GoTo errHandler
       .Name = "ExterneDaten_1"
       .FieldNames = True
       .RowNumbers = False
       .FillAdjacentFormulas = False
       .PreserveFormatting = True
       .RefreshOnFileOpen = False
       .RefreshStyle = xlInsertDeleteCells
       .SavePassword = False
       .SaveData = True
       .AdjustColumnWidth = True
       .RefreshPeriod = 0
       .TextFilePromptOnRefresh = False
       .TextFilePlatform = 932
       .TextFileStartRow = 1
       .TextFileParseType = xlDelimited
       .TextFileTextQualifier = xlTextQualifierDoubleQuote
       .TextFileConsecutiveDelimiter = False
       .TextFileTabDelimiter = False
       .TextFileSemicolonDelimiter = True
       .TextFileCommaDelimiter = False
       .TextFileSpaceDelimiter = False
       .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
       .TextFileTrailingMinusNumbers = True
       .Refresh BackgroundQuery:=False
    End With

      MsgBox "Datei bitte schließen", , "es ist: " & Time
End If


'Hinweis alle 5 Sekunden
Application.OnTime Now + TimeSerial(0, 0, 20), "Aufforderung"
Startzeit = Now + TimeSerial(0, 0, 20)

'Hinweis alle 15 Minuten
'Application.OnTime Now + TimeSerial(0, 15, 0), "Aufforderung"
'Startzeit = Now + TimeSerial(0, 15, 0)
End Sub