Domino 9 und frühere Versionen > ND7: Entwicklung

Dateien löschen

(1/2) > >>

Demian:
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

koehlerbv:
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:
Erzeugst Du die Datei in Notes mt Script?

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

Andreas

Demian:
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

DerAndre:
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é

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln