Access-Paradies im Internet

Die PDF-Erstellungsschnittstelle für Ihre Anwendungen
 

  

::: Funktionen

 


Die Top Seite für Excel-VBA-Makros uvm.
Anwenderforum für Microsoft Office, Windows, VB
FAQ, kostenlose Tipps und Downloads zu Microsoft Office
Das große Visual-Basic Archiv
Access-Garhammer
Rainer's Archiv

::: Newsletter

 

Unser Newsletter informiert Sie topaktuell rund um alle Themen zu Microsoft Access, VBA usw.

 
  




::: ebay

 
1.000 Tage eBay Partnerprogramm - Volume II
 

30

 
  Tipps & Tricks -> Dateisystem / Laufwerk -> Existiert die Datei   



Kostenlose Tools und aktuelle News mit unserem monatlichen Access-Newsletter.
Jetzt eintragen!




von Günther Kramer

Mausrad im Formular abschalten

Der VBA-Code schaltet innerhalb eines Formulars das Mausrad ab



Volle Entwickler-Lizenz

Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus (für VB, Delphi, .NET, Office/VBA). Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken.



Das Access-VBA Codebook

Neue Ausgabe!




Die VBA-Codesammlung, die bei keinem Entwickler
fehlen darf!

 
   
 
 
 
  Existiert die Datei
Kurzinfo: Dieser Tipp zeigt, wie man mit verschiedenen Möglichkeiten prüfen kann, ob eine Datei existiert.
Access-Version(en): Access 97, 2000 und XP
Autor: Stefan Kulpa
Homepage: http://www.kulpa-online.de

 
 

 

Auf der AP-Access-Tools Vol.1 finden Sie weitere 320 Tipps & Tricks sowie 250 Access-Beispiel/Anwendungen mit offenen Quellcode!

Die Access-Tools-CD mit über 400 MByte Inhalt - für Access- und VB-Entwickler

  • 256 Access-Beispiele mit offenem Code
  • 45 Add-Ins und ActiveX-Komponenten (Freeware)
  • 16 VB-Projekt inkl. Source
  • 321 Tipps & Tricks für Access und VB
  • Plus 11 Entwicklerversionen (9 davon mit Source!)
  • Plus 3 Vollversionen und
  • Plus riesiger Datenpool

    Holen Sie sich jetzt Ihre AP-Access-Tools-CD zum Superpreis von nur EUR 24,95!

  •  
     

    Um zu prüfen, ob eine Datei existiert, kann man auf verschiedene Art und Weise vorgehen:

    Lösung 1: Nutzung des Windows Scripting Host

    Um den Windows Scripting Host benutzen zu können, muss man entweder einen Verweis auf die entsprechende DLL-Datei (SCRRUN.DLL im System-Verzeichnis) setzen, oder aber mit LateBinding (sprich: CreateObject) arbeiten.

    Code:
    Function FileExists(sFilePath As String) As Boolean
     
    '// ------------------------------------------------------------------------
    '// Variante 1 MIT Verweis auf die Microsoft Scripting Runtime.
    '// Hier ist ein Verweis auf die SCRRUN.DLL im System-Verzeichnis notwendig.
    '// ------------------------------------------------------------------------
        Dim objFso As New FileSystemObject
    '// ------------------------------------------------------------------------
    '// Variante 2 OHNE Verweis auf Microsoft Scripting Runtime
    '// ------------------------------------------------------------------------
        Dim objFso As Object
        Set objFso = CreateObject("Scripting.FileSystemObject")
    '// ------------------------------------------------------------------------
        FileExists = objFso.FileExists(sFilePath)
     
    End Function
     
    Sub Test()
     
        Const csMYPATH = "C:\Programme\Microsoft Office\Office10\WINWORD.EXE"
        Debug.Print FileExists(csMYPATH)
     
    End Sub

    Hinweis: man muss sich für eine Variante entscheiden und den entsprechenden Teil im Beispiel deaktivieren oder löschen.


    Lösung 2: String-Manipulation mit VBA-Hausmitteln

    Die Lösung mit den VB-Hausmitteln basiert auf der Dir()-Funktion unter Zuhilfenahme des Error-Objekts.

    Code:
    Function FileExists(sFilePath As String) As Boolean
     
        If Trim(sFilePath) = "" Then Exit Function
        If Right(sFilePath, 1) = "\" Then Exit Function
    '// ------------------------------------------------------------------------
    '// Fehlerhandling einschalten, um VB-Meldung abzufangen
    '// ------------------------------------------------------------------------
        On Error Resume Next
        FileExists = Dir(sFilePath) <> ""
        FileExists = FileExists And Err.Number = 0
    '// ------------------------------------------------------------------------
    '// Fehlerhandling wieder auschalten
    '// ------------------------------------------------------------------------
        On Error GoTo 0
     
    End Function
     
    Sub Test()
     
        Const csMYPATH = "C:\Programme\Microsoft Office\Office10\WINWORD.EXE"
        Debug.Print FileExists(csMYPATH)
     
    End Sub



    Lösung 3: API

    Code:
    Const MAXPATH           As Long = 260
     
    Type FILETIME
         dwLowDateTime      As Long
         dwHighDateTime     As Long
    End Type
     
    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
     
    Declare Function FindFirstFile Lib "kernel32" Alias _
                    "FindFirstFileA" _
                    (ByVal lpFileName As String, _
                     lpFindFileData As WIN32_FIND_DATA) As Long
     
    Declare Function FindClose Lib "kernel32" _
                    (ByVal hFindFile As Long) As Long
     
    Function FileExists(ByVal sSource As String) As Boolean
     
        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



    Neuen Tipp melden Neuen Download melden

    Copyright 2000-2003 Microsys Kramer– Alle Rechte vorbehalten - Der Download von Tipps und Programmen von den Seiten www.access-paradies.de erfolgt auf eigene Gefahr. Microsys Kramer haftet nicht für Schäden, die aus der Installation oder der Nutzung von Tipps oder Software aus dem Download-Bereich erfolgen. Trotz aktueller Virenprüfung ist eine Haftung für Schäden und Beeinträchtigungen durch Computerviren ausgeschlossen. Schadenersatzansprüche, aus welchem Rechtsgrund auch immer, sind ausgeschlossen, wenn Microsys Kramer nicht Vorsatz oder grobe Fahrlässigkeit zu vertreten hat. Dies gilt auch für Ansprüche auf Ersatz von Folgeschäden wie Datenverlust.

     
     
     
     

    Access-Paradies © 1996-2011 Microsys Kramer


    Microsoft, Access, Word, Excel, Outlook, Outlook Express, Visual Basic und Windows sind eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Weiterempfehlung  |   Linken Sie uns  |   Impressum  |   Newsletter  |   Onlineshop