Autor Thema: Dateien löschen  (Gelesen 3104 mal)

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Dateien löschen
« am: 13.07.06 - 19:20:22 »
Hallo alle zusammen,

Ich habe mir einen Agenten geschrieben, der aus einer Exceltabelle ein bestimmtes Blatt in eine neue Tabelle kopiert, in einem selbst angelegten "Temp-Ordner"speichert, und dann als Anhang in einer Mail versendet.

Jetzt möchte ich nach dem Versenden alle Dateien in dem Temp Ordner löschen. In Excel ging das mit: kill "C:\Musterordner\" & "*.*"

In Notes sacht er mir dann aber Path/File access Error

Woran liegt das? Bzw. noch viel wichtiger: Wie kann ich die Dateien löschen?


Gruß
Demian
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dateien löschen
« Antwort #1 am: 13.07.06 - 19:42:24 »
Ich befürchte, das ist kein Notes-Problem, sondern eines von Windows bzw. anderen Programmen: Eines oder mehrere von denen hat wohl im Temp-Ordner noch ein File im Zugriff. Gerade das "*.*" funktioniert ja in der Regel auch nicht aus dem Windows-Explorer.

Bernhard

Glombi

  • Gast
Re: Dateien löschen
« Antwort #2 am: 13.07.06 - 19:46:24 »
Erzeugst Du die Datei in Notes mt Script?

Falls ja, musst Du die vor dem killen mit Close ... schließen.

Andreas

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Dateien löschen
« Antwort #3 am: 14.07.06 - 11:01:22 »
Hallo ihr beiden,

Hier mal ein Ausschnitt des Codes wie er in Excel war:
    ....
    ActiveWorkbook.Close
    mail.display
    mail.send
    ChDir pfad
    Kill "*.*"
    ....

Hat bisher immer funktioniert. Also kann es ja eigentlich kein "Windows-Problem" sein, oder? Zumal, wenn ich die Datei explicit im Kill angebe klappts (siehe unten).

Die Datei wird per Script erzeugt, und auch vor dem Kill wieder geschlossen:

Function ListeÖffnen
   On Error Goto Fehler   
   
   Monatsabfrage   
   Set ex = getobject(,"Excel.Application")
   
Weiter:
   ex.visible = False
   ex.workbooks.open "H:\Personal\Personalabteilung\Geburtstage.xls"
   ex.sheets(Monat).select
   ex.ActiveSheet.Copy  'Kopieren der aktuellen Tabelle in eine neue Arbeitsmappe
   ex.workbooks("Geburtstage.xls").close
   
   
   ex.activeworkbook.saveas "H:\Personal\Personalabteilung\temp\" & ex.ActiveSheet.Range("a1").Value   'Speichern der neuen Mappe
   ex.activeworkbook.close   
   ex.visible = True
   Set ex = Nothing
   Exit Function
   
Fehler:
   If Err() = 208 Then
      Set ex = createobject("Excel.Application")
      Goto weiter
   Else
      Msgbox Err() & " " & Str(Err) & ": " & Error$
   End If   
   
End Function


Gelöscht wird hier:

Set obj = item.EmbedObject(EMBED_ATTACHMENT,"","H:\Personal\Personalabteilung\temp\Geburtstagsliste " & Monat & ".xls")
   Kill "H:\Personal\Personalabteilung\temp\Geburtstagsliste "  & Monat & ".xls"


Bin jetzt vorerst so vorgegangen, dass ich nur die erstellte Datei wieder lösche. Das klappt auch. Aber um auf Nummer sicher zu gehen, würde ich gerne alle Dateien löschen.

Den Umweg über mkdir und rmdir würde ich hier sehr ungern gehen :)

Gruß
Demian
Gruß
Demian

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Dateien löschen
« Antwort #4 am: 14.07.06 - 11:07:29 »
Ich Verweise Dich nochmal auf Bernhard...

Schonmal versucht manuell Deinen Temp-Ordner zu löschen?
Das klappt meistens auch nicht, weil, wie Bernhard schon sagte, diverse Programme Ihre Finger da drauf haben.

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Dateien löschen
« Antwort #5 am: 15.07.06 - 13:19:02 »
Hallo,

es handelt sich hier ja nicht um den Windows Temp-Ordner. Es ist ein ganz normaler Ordner, den ich einfach temp genannt habe. Insofern können eigentlich keine anderen Programme ihre Finger drauf haben.

Und wenn dem so wäre, dürfte sich die Datei ja auch bei expliciter Namensangabe nicht löschen lassen. Das tut sie aber.

Gruß
Demian
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dateien löschen
« Antwort #6 am: 15.07.06 - 14:07:07 »
Irgendwie verwendest Du aber auch unterschiedliche Pfadangaben. Einmal heisst es
   ex.workbooks.open "H:\Personal\Personalabteilung\Geburtstage.xls"

Dann aber
   Kill "H:\Personal\Personalabteilung\temp\Geburtstagsliste "  & Monat & ".xls"

So kann das dann auch nichts werden - wenn das genauso in Deinem Code stehen würde.

Bernhard

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Dateien löschen
« Antwort #7 am: 15.07.06 - 16:23:39 »
Aus der Hilfe (zur Funktion Dir) - leicht abgewandelt für deinen Fall:

pathName$ = "H:\Personal\Personalabteilung\temp\*.*"
fileName$ = Dir$(pathName$, 0)
Do While fileName$ <> ""
   Kill fileName$
   fileName$ = Dir$()
Loop
Situs vilate in isse tabernit.

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Dateien löschen
« Antwort #8 am: 18.07.06 - 14:33:03 »
Hallo LN4ever,

vielen Dank für deinen Tip.

Es leuchtet mir zwar nicht ganz ein, warum beim "Dir" das "*.*" funktioniert und beim "kill" nicht, aber es funktioniert einwandfrei. Es werden kommentarlos alle Dateien gelöscht.

Vielen Dank.

Gruß
Demian
Gruß
Demian

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz