Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

datei löschen

datei löschen
23.07.2004 08:20:12
baer
hy forum!
hab ne excel datei, die auf dem desktop automatisch erstellt wurde, sie wird geöffnet, man arbeitet darin u wenn man sie schliesst soll sie vom desktop verschwinden, für immer! also tastenkombination unter windows wäre "shift"+"entf"
kann ich das von excel aus machen!?
ciao baer

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: datei löschen
Daniel
Hallo baer (ist das Dein Name?)
im Prinzip kann man in VBA mit dem Befehl Kill [Pfad] eine Datei ziemlich endgültig löschen. Das Problem ist, wenn ich Dich recht verstehe, dass die Datei sich selber löschen soll, und das geht nicht. Sie könnte ein anderes Programm starten, das zeitgesteuert selbständig läuft und dann die XL-Datei löscht, ist aber ziemlich hakelig.
Daniel
AW: datei löschen
23.07.2004 10:00:34
ANdreas
Hallo,
das geht so:
in ein Standardmodul:
Sub KillMe()
ThisWorkbook.ChangeFileAccess xlReadOnly
Kill ThisWorkbook.FullName
End Sub
in DieseArbeitsmappe:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Select Case MsgBox("Soll diese Mappe wirklich gelöscht werden?", vbQuestion _
+ vbYesNoCancel)
Case vbYes
KillMe
Case vbNo
'nicht löschen nur schließen
Case Else
Cancel = True
End Select
End Sub

Hoffe das hilft weiter,
Andreas
Anzeige
AW: datei löschen
baer
danke! hat ma sehr gholfen! sowas hab i gmeint...
d frage is jez nur mehr...ich will,dass er das nur anwendet, wenn der pfad der datei auf dem desktop ist...
user = Environ("Username")
"C:\Dokumente und Einstellungen\"+user+"\Desktop\"
funktioniert das?
AW: datei löschen
23.07.2004 11:43:38
ANdreas
Hallo,
so dann mal gleich vollständig :-)
Also sobald die Datei sich im Desktopverzeichnis befindet, wird sie beim Schließen ohne Rückfrage gelöscht. Liegt sie in einem anderen Verzeichnis, wird sie nur geschlossen:
Standardmodul:
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Declare Function SHGetSpecialFolderLocation _
Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, _
pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, _
ByVal pszPath As String) As Long
Public Enum spfSpecialFolderConstants
spfDesktop = &H0
spfPrograms = &H2
spfPersonal = &H5
spfFavorites = &H6
spfStartup = &H7
spfRecent = &H8
spfSendto = &H9
spfStartmenu = &HB
spfDesktopDirectory = &H10
spfNethood = &H13
spfFonts = &H14
spfTemplates = &H15
spfCommonStartmenu = &H16
spfCommonPrograms = &H17
spfCommonStartup = &H18
spfCommonDesktopDirectory = &H19
spfAppdata = &H1A
spfPrinthood = &H1B
spfCommonFavorites = &H1F
spfInternetCache = &H20
spfCookies = &H21
spfHistory = &H22
End Enum
'Quelle: http://www.aboutvb.de/khw/artikel/khwspecfolders.htm
Public Function GetSpecialFolderPath _
(ByVal FolderID As spfSpecialFolderConstants) As String
Dim nItemList As ITEMIDLIST
Dim nPath As String

Const NOERROR = 0

If SHGetSpecialFolderLocation(0, FolderID, nItemList) = NOERROR Then
nPath = Space$(260)
If SHGetPathFromIDList(nItemList.mkid.cb, nPath) 0 Then
GetSpecialFolderPath = Left$(nPath, InStr(nPath, vbNullChar) - 1)
End If
End If
End Function
Sub KillMe()
ThisWorkbook.ChangeFileAccess xlReadOnly
Kill ThisWorkbook.FullName
End Sub
DieseArbeitsmappe:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Path = GetSpecialFolderPath(spfDesktopDirectory) Then KillMe
End Sub

Gruß
Andreas
Anzeige
AW: datei löschen
baer
danke! funktioniert auf meim pc super...jedoch wenn ichs aufn server stelle dann nicht mehr...wird wahrscheinlich ein anderes problem sein...mal schaun
danke!ciao
AW: datei löschen
23.07.2004 15:09:27
ANdreas
Hallo,
wenn sie auf dem Server liegt, dann kann sie ja nicht auf dem Desktop sein - sehe nicht was nicht funktionieren sollte :)
Gruß
Andreas
AW: datei löschen
23.07.2004 19:00:55
baer
ja, sie wird vom server automatisch auf den desktop kopiert...und dafür muss ich sie vorher auf dem server öffnen!
am server darf nur der chef zugreifen!
was natürlich ne elegantere lsg wäre is,wenn ich vom desktop aus die datei öffne, und vom server aktualisiere, falls es was zu aktualisieren gibt...gibts da ne möglichkeit,somit braucht nur mehr 1 auf dem server zugreifen, der chef, die andern greifen alle unbewusst darauf zu...weiß nicht wie das gehen kann...oda soll ich ein neues thema schreiben?bin neu hier...
ciao
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige