Autor Thema: Datei löschen über Script  (Gelesen 8688 mal)

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Datei löschen über Script
« am: 23.07.08 - 15:17:35 »
Hallo alle zusammen,

ich habe folgendes Problem:

Ich habe ein Agenten erstellt, welcher ein Wor-Dokument erstellt und in Notes in einem Dokument hinterlegt.

Bei diesem Agenten werden 2 Datein in einen Ordner erstellt der für diesen Agenten immer extra erstellt wird. Das Problem ist dass diese beiden Datein und der Ordner sich nicht löschen lassen. Ich habe das Forum schon fünf mal durchsucht, habe leider dennoch nichts gefunden. Ich hoffe Ihr könnt mir helfen.

Anbei der Code zum schließen von Word und das löschen der Datein.

(Da ich den selben Code an 2 stellen im Agenten benötige habe das schließen und löschen in eine eigenen Sub gepackt,)

Code
Sub CloseDelete(wordapp As Variant,notesPfad As String)
Dim pathName As Variant
Dim FileName As Variant

wordapp.Quit 0
Call wordapp.Quit(0)				
Set Wordapp = Nothing   

Sleep(30)
	
pathName = NotesPfad +"\*.*"
fileName = Dir$(pathName, 0)
Do While fileName <> ""
	Kill fileName
	fileName = Dir$()
Loop

Rmdir NotesPfad & "\"&Cstr(Date)

End Sub
« Letzte Änderung: 13.08.08 - 09:14:06 von C_T »
Viele Grüße

Christian T.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #1 am: 23.07.08 - 15:20:47 »
Welche Fehlermeldung??

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #2 am: 23.07.08 - 15:34:23 »
Sry habe ich auch gerade dran gedacht....

Zitat
Es ist ein Fehler aufgetreten!

Function: CLOSEDELETE 75: Path/file access error - Line 19

Line 19: "   Kill fileName"

Die Datein lassen sich manuel löschen nur der ordner nicht.....
Viele Grüße

Christian T.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #3 am: 23.07.08 - 15:50:00 »
Passen den die Rechte für das Verzeichnis für den ausführenden User?

Benrhard

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #4 am: 23.07.08 - 15:56:54 »
Jo

also ich teste es hier an nem PC und an dem bin ich admin. Und ich kann die Datein ja nach dem Agent auch manuell ohne probleme löschen. Jedoch kann ich den Ordner nicht löschen da Windoof mir sagt das da noch jemand drauf zugreift.

Unsere "normalen" Benutzer haben alle einen NC also eine Workstation wo sie natürlich extrem wenige Berechtigungen habe. Doch ebend aus diesem Grund habe ich mich für den Notespfad entschieden.

Code
NotesPfad= session.GetEnvironmentString("Directory",True)
NotesPfad = NotesPfad & "\XYZ_" & Cstr(Date)

Viele Grüße

Christian T.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Datei löschen über Script
« Antwort #5 am: 24.07.08 - 09:11:06 »
Du greifst ja noch mit dem Script auf die Datei zu. Ich denke es liegt daran.

Schreib doch die Dateinamen, der zu löschenden Dateien in eine Liste und Lösche in einem zweiten Durchlauf (mit den Listelementen) die Dateien.

Bsp.:
Code
pathName = NotesPfad +"\*.*"
fileName = Dir$(pathName, 0)

Dim lstToDel List as String

Do While fileName <> ""
	lstToDel( fileName ) = "1"
	fileName = Dir$()
Loop

forall vD in lstToDel 
   Kill Listtag( vD )
End Forall
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #6 am: 24.07.08 - 10:02:59 »
HI Danke schonmal für die Hilfe, jedoch gibt es wieder die selbe Fehlermeldung zurück wie oben schon beschrieben:

Zitat
Es ist ein Fehler aufgetreten!

Function: CLOSEDELETE 75: Path/file access error - Line 41


Zeiel 41 ist in diesem Fall:

Code
Kill Listtag( vD )
Viele Grüße

Christian T.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Datei löschen über Script
« Antwort #7 am: 24.07.08 - 10:08:16 »
dann sind es die Berechtigungen ..
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #8 am: 24.07.08 - 10:21:49 »
wie gesagt ich bin auf meinem PC als administrator angemeldet mit uneingeschränkten Zugriff....
Viele Grüße

Christian T.

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Datei löschen über Script
« Antwort #9 am: 24.07.08 - 10:24:30 »
Kann es sein, dass die Datei(en) noch von einer anderen Anwendung gesperrt sind, z.B. Word?

Nach deinem ersten Codeauszug zu urteilen verwendest du ja Word.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #10 am: 24.07.08 - 10:58:31 »
So ich habe das nochmal getestet und über den Debugger kurz vor dem löschen der Datein (über Skript)  angehalten und dann die Datein Manuel gelöscht (also Arbeitsplatz --> Ordner geöffnet --> Datein markiert --> löschen). Dies hat auch ohne Probleme geklappt, also kann die Theorie (die ich auch erst hatte) das Word noch drauf zugreift nicht stimmen.
Viele Grüße

Christian T.

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #11 am: 24.07.08 - 11:00:48 »
hast du mal versucht, das Timing beim Sleep höher zu setzen? 30 ms scheinen mir ein wenig kurz ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #12 am: 25.07.08 - 09:12:47 »
Also ich habe jetzt auch einmal die Sleep Time auf 100 gestellt.

Immernoch das gleiche Problem.

@Eknori: die Zeit beim Sleep wird in Sekunden angegeben nicht in ms.

Zitat
Causes a script to pause for at least the number of seconds specified. The script may pause longer.
Viele Grüße

Christian T.

Offline Pyewacket

  • Senior Mitglied
  • ****
  • Beiträge: 310
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #13 am: 25.07.08 - 11:32:02 »
Das Problem hatte ich auch mal. Gelöst habe ich es dadurch daß ich den kompletten Filepath incl. Laufwerksbuchstaben und Directory angegeben habe.
ATOS.org - Feel the music!

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #14 am: 25.07.08 - 11:53:14 »
Das Problem ist das der gesammte Dateipfad sich immer wieder ändern kann. Daher gehe ich ja schon auf Notespfad....
Viele Grüße

Christian T.

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #15 am: 12.08.08 - 11:51:54 »
Keiner da der noch ne idee für dieses Problem hat???

Wäre echt super Vielen Dank....
Viele Grüße

Christian T.

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #16 am: 12.08.08 - 13:30:42 »
Ich würde mal z.B. ein Print oder eine Msgbox einbauen, in der ich vor dem Kill ausgebe, was gelöscht werden soll.

Code
pathName = NotesPfad +"\*.*"
fileName = Dir$(pathName, 0)
Do While fileName <> ""
	Print "Lösche <" & fileName & "> ... "
	Kill fileName
	Print "<" & fileName & "> gelöscht."
	fileName = Dir$()
Loop

Eventuell zeigt sich hierbei ja z.B., dass versucht wird, das Verzeichnis selbst zu löschen.

-Werner

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Datei löschen über Script
« Antwort #17 am: 13.08.08 - 09:13:45 »
Ich habe mir das jetzt alles nochmal durch den Kopf gehen lassen und mir ist ein Geistesblitz gekommen. Und zwar konnte das so wies jetzt da steht nicht funktionieren.

Da in filename zwar die Datei steht die gelöscht werden soll, jedoch nicht mit dem dazugehörigen Pfad. Daher kann die Datei auch nicht gefunden werden....

Anbei der korrekte Code:
Code
	Dim pathName As Variant
	Dim FileName As Variant
	
	pathName = NotesPfad +"\*.*"
	fileName = Dir$(pathName, 0)
	Dim file As Variant
	
	Do While fileName <> ""
		file = NotesPfad +"\"+ fileName
		Kill file
		fileName = Dir$()
	Loop
	Rmdir NotesPfad

Nochmal vielen Dank an alle....
Viele Grüße

Christian T.

klaussal

  • Gast
Re: Datei löschen über Script
« Antwort #18 am: 13.08.08 - 09:21:53 »
Das wäre aber im Debugger sofort aufgefallen....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz