In temporären Verzeichnis speichern

06/11/2007 - 11:28 von emfri | Report spam
Hallo,

Ich erzeuge mittels Makro eine Excelliste die ich zur weiteren Verwendung
kurz Speichern muss. Da die Anwendung mehrere Benutzer, die sich nicht in die
Quere kommen sollen, verwenden sollen, möchte ich wie folgt vorgehen:

If File_exist("%temp%\Ergebnis.xls") Then
Kill "%temp%\Ergebnis.xls"
End If
ExcelObj.ActiveWorkbook.SaveAs ("%temp%\Ergebnis.xls")

Public Function File_exist(ByVal file As String) As Integer
Dim F
F = FreeFile
On Error GoTo File_existError
Open file For Input Access Read As #F
Close #F
File_exist = True
Exit Function
File_existError:
File_exist = False
Exit Function
End Function

Erhalte leider nur Laufzeitfehler 1004 als Ergebnis.
Weiss jemand wie ich das lösen kann.

Danke und Gruß
Markus
 

Lesen sie die antworten

#1 Frank Willberger
06/11/2007 - 11:47 | Warnen spam
Moin, Moin Markus,

Ändere mal Dein Aufruf

If File_exist("%temp%\Ergebnis.xls") Then
Kill "%temp%\Ergebnis.xls"
End If
ExcelObj.ActiveWorkbook.SaveAs ("%temp%\Ergebnis.xls")



in

temp = Environ("TEMP")

If File_exist(temp & "\Ergebnis.xls") Then
Kill temp & "\Ergebnis.xls"
End If
ExcelObj.ActiveWorkbook.SaveAs (temp & "\Ergebnis.xls")
End Sub

Damit ist der Laufzeitfehler weg.
Das Problem ist jetzt nur noch, daß "Kill" nicht funktioniert, solange
Dein ActiveWorkbook "Ergebnis.xls" ist (Kein Zugriff durch das BS), das
solltest Du nach dem Speichern schließen.

Ciao

Frank

Ähnliche fragen