Ich erhalte folgende Meldung.
Fehler Nr. 1004
Die Activate-Methode des Pane Objektes konnte nicht ausgeführt werden.
Was muss ich machen?
Das Program wird über ein Zeichenelement(Ellipse Makro zugewiesen) gestartet. Sollte starten, macht es aber nicht. Fehler 1004!!!! Mein zusammengewürfeltes Programmmmmm
'********************************************************************
'* Hauptprogramm aktualisieren und Sound abspielen *
'********************************************************************
Option Explicit
Public TimeSchleife As Date
' part one
Sub Kontrolle()
On Error GoTo Fehler
Application.StatusBar = "Tabellenaktualisierung " & Format(Now, "hh:nn:ss")
Application.Wait Now + TimeValue("0:0:1")
' dient zur kontrolle ob überhaut etwas passiert
Sheets("Tabelle1").Select
ActiveWindow.Panes(2).Activate
Range("F1").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
' DIE AKTUALISIERUNG VON TABELLE1 IST WICHTIG; DAS MUSS UNBEDINGT AUSGEFÜHRT WERDEN
ActiveWindow.Panes(2).Activate ' kontrolle normal überflüssig
Range("F74").Select ' kontrolle normal überflüssig
Range("F74").Activate ' kontrolle normal überflüssig
Selection.ClearContents ' kontrolle normal überflüssig
Range("F1").Select ' kontrolle normal überflüssig
'kontrolle ob aktualisiert
'mp3 sound bei "ueber10000"
ueber10000
TimeSchleife = Now + TimeValue("0:0:3")
Application.OnTime TimeSchleife, "Kontrolle"
Application.StatusBar = False
Fehler:
With Err
If .Number 0 Then
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
Call StopZeitGeber
End If
End With
End Sub
Public Sub StopZeitGeber()
'Tastenkombination StrG + q
On Error GoTo Fehler 'Falls OnTime nicht aktiv
Application.OnTime earliesttime:=TimeSchleife, Procedure:="Kontrolle", schedule:=False
MsgBox "Zeitgeber beendet"
Fehler:
End Sub
Public Sub StartZeitGeber()
Kontrolle
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call StopZeitGeber
End Sub
Sub ueber10000() ' ist nur die bezeichnung, kann auch ueber5000 heißen o. sonstiges
If Sheets("Tabelle1").Range("A1") > 5000 Then
pruefen
End If
End Sub
Sub pruefen()
'MSGBOX1
MsgBox " Die Datei überprüfen"
play_MP3
End Sub
Sub MSGBOX1()
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String
Text1 = "Die Datei überprüfen, "
Text2 = "irgendeine Celle in der Aktualisierung löschen"
Text3 = "und danach mit Strg+q Program beenden"
MsgBox Text1 & vbLf & Text2 & vbLf & Text3, , "Meldung"
End Sub
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" ( _
ByVal lpszCommand As String, _
ByVal lpszReturnString As String, _
ByVal cchReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private isPlaying As Boolean
'Sub Michael()
Public Sub play_MP3()
Dim strMP3 As String, strFile
strFile = "H:/Music/music_10_2008/Sam Sparro - Black & Gold.mp3"
strMP3 = Chr$(34) & strFile & Chr$(34)
If isPlaying = True Then
Call mciSendString("Stop MM", 0&, 0&, 0&)
Call mciSendString("close MM", 0&, 0&, 0&)
Call mciSendString("Open " & strMP3 & " Alias MM", 0&, 0&, 0&)
Call mciSendString("Play MM", 0&, 0&, 0&)
Else
Call mciSendString("Open " & strMP3 & " Alias MM", 0&, 0&, 0&)
Call mciSendString("Play MM", 0&, 0&, 0&)
isPlaying = True
End If
End Sub
Public Sub Stop_MP3()
If isPlaying = True Then
Call mciSendString("Stop MM", 0&, 0&, 0&)
Call mciSendString("close MM", 0&, 0&, 0&)
If isPlaying = falsh Then Exit Sub
Call mciSendString("Stop MM", 0&, 0&, 0&)
Call mciSendString("close MM", 0&, 0&, 0&)
End If
End Sub