Microsoft Excel

Herbers Excel/VBA-Archiv

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

Excelschwierigkeiten mit Taskplaner



Excel-Version: 10.0 (Office XP)

Betrifft: Excelschwierigkeiten mit Taskplaner
von: axel.meyer
Geschrieben am: 06.06.2002 - 09:15:39

Hi Folks,

ich habe mir eine kleine Routine geschrieben, die mir eine Mappe schließen soll. Aufgerufen wird dieses Makro, indem über den Taskplaner eine Mappe3 geöffnet wird, in der das folgende Makro steht. Das klappt alles hervorragend, solange ich es nicht über den Taskplaner starte. Wenn aber über Taskplaner, erkennt er über die DateiIstFrei()-Funktion zwar, ob die Mappe3 offen ist oder nicht, aber irgendwie.... intern doch nicht. Die Zeile

Workbooks("Schließen.xls").Sheets(1).Activate

habe ich nur eingefügt um zu sehen, ob er das Sheet überhaupt findet. Tut er aber nciht und markiert diese Zeile mit dem Laufzeitfehler 9, Index außerhalb des Bereiches. Nehme ich diese Zeile heraus, macht er das selbe mit dieser Zeile:

Workbooks("Schliessen.xls").Close SaveChanges:=True

Abgesehen davon: Im Projektfenster in der Entwicklungsumgebung erscheint auch die Mappe "Schliessen" nicht.
Und wie gesagt: wenn ich diese Mappe3 durch normalen Doppelklick öffne, arbeitet alles bestens.

Grüße von einem ratlosen Axel


Sub test()
Dim DatNam As String
    DatNam = "C:\WINDOWS\Desktop\Schliessen.xls"
    If DateiIstFrei(DatNam) = False Then
    Workbooks("Schließen.xls").Sheets(1).Activate
    Workbooks("Schliessen.xls").Close SaveChanges:=True
      Exit Sub
    Else
      MsgBox "Datei ist nicht geöffnet !"
    End If
End Sub

PS:
DateiIstFrei(DatNam) arbeitet immer. Wenn ich also vor die beiden Zeilen

Workbooks("Schließen.xls").Sheets(1).Activate
Workbooks("Schliessen.xls").Close SaveChanges:=True

eine Msgbox stelle, die das Makro ja unterbricht, dann wirft er den Laufzeitfehler erst beim Weiterlaufen aus...



  

Re: Excelschwierigkeiten mit Taskplaner
von: Hans W Hofmann
Geschrieben am: 06.06.2002 - 09:41:29

Du hast offensichtlich ein Problem mit der Rechtschreibung.
ss<>ß

War's das?
Gruß HW


  

...neee
von: axel.meyer
Geschrieben am: 06.06.2002 - 09:54:22

Hi HW,

nee, das war es nicht, obwohl ich diesen Fehler gemacht habe. Aber nur in der ....Activate -Zeile. Und das auch nur mal zwischendurch beim Hin- und Herfummeln.

Axel


  

Re: ...neee
von: Hans W. Hofmann
Geschrieben am: 06.06.2002 - 10:44:32

Hm, hast Du mal überprüft, wie die Datei im Projektexplorer überhaupt heißt? Offentsichtlich ist "schliessen.xls" oder "schließen.xls" kein gültiger Index.

Gruß HW


  

Hmm...
von: axel.meyer
Geschrieben am: 06.06.2002 - 10:59:04

Hi HW,

ich glaube, da hast Du den Kern gefunden (also mal von "ß" und "ss" ganz ab, ich habe die Mappe vorher immer Mappe1 genannt und hatte das selbe Problem): wenn ich die Mappe mit dem Makro per Hand starte, dann habe ich einen Mappeneintrag im Projektfenster, den ich dann auch schließen kann. Wenn ich den Start aber vom Taskmanager ausführen lasse, dann ist neben der Mappe, in der das Makro steht, gar kein anderer Eintrag.

Wenn er also deshalb auch nichts schließbares finden kann, wäre das schon logisch. Nur: er arbeitet ja die Abfrage ab, ob die Datei überhaupt offen ist. Und wenn er nichts im Projektfenster hat, wie kriege ich das da zum anschließenden Schließen hinein? Ich meine: wenn die Mappe ja schon offen ist, kann ich sie ja nicht noch mal öffnen (Fehlermeldung)?

Was also machen, um eine Excel-Datei, die bis Abends 22.00 versehendlich nicht geschlossen wurde, zu schließen, damit andere im Netzwerk darauf zugreifen können?

Gruß, Axel