PDA

Vollständige Version anzeigen : Wenn Datei nicht auf C: dann öffne sie auf D:


HPG
15.10.2001, 14:53
Hallo NG,

eine bestimmte Datei kann nur auf C: oder D: sein, der Pfad ist gleich.

Wie fange ich das ab, wenn sie auf C: nicht gefunden wird, damit sie auf D: geöffnet wird ?

Danke schon mal

Gruß
Hans-Peter

md
15.10.2001, 15:13
Hallo HPG!
Nachfolgende Funktion file exists :

Option Compare Database
Option Explicit
'ist auf der Diskette eine datei namens DBAustausch? Konstanten hierfür
Public Const MAXPATH As Long = 260
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Public Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAXPATH
cAlternate As String * 14
End Type

Public Declare Function FindFirstFile Lib "kernel32" Alias _
"FindFirstFileA" _
(ByVal lpFileName As String, _
lpFindFileData As WIN32_FIND_DATA) As Long



Public Declare Function FindClose Lib "kernel32" _
(ByVal hFindFile As Long) As Long 'Ende des Deklarationsbereichs
Public Function FileExists(ByVal sSource As String) As Boolean
'// -----------------------------------------------------------------
'// Methode: | Prüft ob Datei existiert
'// -----------------------------------------------------------------
'// Parameter: | sSource = gültiger Dateipfad (auch UNC-Pfad)
'// -----------------------------------------------------------------
'// Rückgabe: | True = Datei vorhanden;
'// | False = Datei nicht vorhanden
'// -----------------------------------------------------------------
Const INVALID_HANDLE_VALUE As Long = -1
Dim WFD As WIN32_FIND_DATA
Dim lFile As Long
lFile = FindFirstFile(sSource, WFD)
'// Prüfung auf gültigen Datei-Handle
FileExists = lFile <> INVALID_HANDLE_VALUE
Call FindClose(lFile)

End Function
Ist hier aus dem Forum

MD

Stefan Kulpa
15.10.2001, 16:44
<font face="Verdana" size="2">Hallo,

der Vollständigkeit halber; das Original findest Du <a href="http://www.kulpa-online.de/tipps/visualbasic/119.htm" target="_blank">hier</a>.
Kopiere den Code in ein Modul und rufe die Funktion wie folgt auf:</font>

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> Test()

<span class="TOKEN">Const</span> csMYPATH <span class="TOKEN">As</span> <span class="TOKEN">String</span> = "MyPath\MyFile.ext"

<span class="TOKEN">If</span> FileExists("C:\" & csMYPATH) <span class="TOKEN">Then</span>
Shell "C:\" & csMYPATH
<span class="TOKEN">ElseIf</span> FileExists("D:\" & csMYPATH) <span class="TOKEN">Then</span>
Shell "D:\" & csMYPATH
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>

<font face="Verdana" size="2">HTH</font>

HPG
16.10.2001, 07:26
DANKE !

Gruß
Hans-Peter