Zufälliger Artikel

Problemstellung:

Wie kann ich einen HEX-Farbwert in einen Long-Farbwert umrechnen?

Lösung:
Folgende Funktion in ein öffentliches Modul kopieren:

Public Function Hex2Long( _
     ByVal strHexColor As String) As Long
 
    Dim lngColor As Long
     Dim strR As String
     Dim strG As String
     Dim strB As String
 
    If Left(strHexColor, 1) = "#" Then
         strHexColor = Mid(strHexColor, 2)
     End If
 
    strHexColor = UCase(strHexColor)
 
    strR = Mid(strHexColor, 1, 2)
     strG = Mid(strHexColor, 3, 2)
     strB = Mid(strHexColor, 5, 2)
 
    lngColor = CLng("&H" & strB & strG & strR)
 
    Hex2Long = lngColor
 
End Function

Aufruf:

MsgBox Hex2Long("#FFFFFF")

Ergebnis:


Ähnliche Artikel

Home

1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

 Problemstellung:
Einlesen von Dateien, mit ohne ohne Unterverzeichnissen und Filterfunktion.

Voraussetzungen:
Das Bsp ist ab A00lauffähig.

Funktionsweise:
Zur Funktionsfähigkeit wird die VBEx32.DLL benötigt. Diese muss sich im WindowsSystem-Verzeichnis befinden und muss nicht registiert werden.

Desweiteren kommt in der Bsp-DB das ActiveX-Control sevListbox zum Einsatz.
Dieses Control wurde bei Installation registriert.
Es ist aber nur für das DEMO hier erforderlich, da man im Control komfortabel Spalten sortieren
kann und auch die Spaltenbreite automatisch angepasst wird.

Die Sub ReadFilesArray liest alle Dateien ein und schreibt diese in die Tabelle tbl_Files.
Dafür werden einige Funktionen der VBEx32.DLL aufgerufen.

Public Sub ReadFilesArray(strFolder As String, Optional intSubfolder As Integer = 0, _
                          Optional strFilter As String = "*.*")
'*******************************************
'Name:      ReadFilesArray   (Sub) benötigt die VBEx32.DLL
'Purpose:   Ermittelt alle Dateien aus einem Verzeichnis und schreibt diese in ein Array
'Author:    Thomas Keßler
'Date:      Januar 26, 2003, 09:01:34
'Inputs:    strFolder=Pfad, intSubfolder=mit Subfolder=1 ohne=0
'           strFilter=Dateifilter setzen
'Output:
'*******************************************

Dim db As DAO.Database, rs As DAO.Recordset
Dim varElement As Variant
Dim lCount As Long
Dim nBytes As Currency

' Löscht den Inhalt der Tabelle "tbl_Files"
CurrentDb.Execute "DELETE * FROM tbl_Files;"

' zunächst Anzahl Dateien ermitteln
lCount = VBEX_FileCount(strFolder, intSubfolder, strFilter, nBytes)

    If lCount = -1 Then
        MsgBox "Keine Dateien enthalten, keine CD eingelegt oder Laufwerk nicht bereit." & vbNewLine & _
               "Bitte legen Sie eine CD ein", vbCritical + vbOKOnly, "Fehler..."
        Exit Sub
    Else
        ' Array dimensionieren
        ReDim sFiles(lCount) As String
        
        ' Dateinamen ermitteln
        lCount = VBEX_FileList(strFolder, intSubfolder, strFilter, sFiles(), nBytes)

        'Neuen Inhalt in die Tabelle übertragen...
        Set db = CurrentDb()
        Set rs = db.OpenRecordset("tbl_Files", dbOpenDynaset)
        DoCmd.Echo False, "Bitte warten..., die Tabelle 'Files' wird mit Daten gefüllt"
        For Each varElement In sFiles()
            rs.AddNew
            rs("Datei") = strFolder & varElement
            rs("Dateigrösse") = FileLen(strFolder & varElement)
            rs("Dateidatum") = FileDateTime(strFolder & varElement)
            If GetAttr(strFolder & varElement) And vbReadOnly Then rs("ReadOnly") = -1
            If GetAttr(strFolder & varElement) And vbHidden Then rs("Hidden") = -1
            If GetAttr(strFolder & varElement) And vbSystem Then rs("System") = -1
            If GetAttr(strFolder & varElement) And vbArchive Then rs("Archiv") = -1
            If GetAttr(strFolder & varElement) And 2048 Then rs("Komprimiert") = -1
            rs.Update
            DoEvents
        Next
    End If
    DoCmd.Echo True
    MsgBox "Es wurden " & lCount + 1 & " Dateien eingelesen.", vbInformation + vbOKOnly, "Erfolg"
    rs.Close
    db.Close

End Sub



Folgende Werte werden ermittelt und in die DB geschrieben: 1. kompletter Pfad und Dateiname
2. Dateigrösse in Bytes
3. Dateidatum
4. Die Attribute "ReadOnly", "Versteckt", "System", "Archiv" und "Komprimiert"

Im Formular wird oben als erstes ein Verzeichnis gewählt:

Im nächsten Schritt wird in der Optionsgruppe fesgelegt ob nur das angegebene Verzeichnis einlesen wird oder einschließlich vorhandener Unterverzeichnisse.

Dann erfolgt die Eingabe des Filters.
Bei Nichteingabe wird der Standardwert "*.*" gesetzt.
Es sind aber ein paar Dinge zubeachten die vom Standard der Wildcards abweichen:

Mögliche Eingaben wären z.B.:
*.* ist der Standarwert und liest alle Dateien ein
*.zip würde alle Zip-Dateien einlesen
test*.xls würde alle Excel-Dateien einlesen, die mit test.. beginnen.
?est*.xls würde alle Excel-Dateien einlesen, die mit est.. beginnen, z.B. test..., pest...
Nicht gelesen würde aber ppest... hier müsste ??est*.xls gesetzt werden.
*.md* würde alle Access Dateien, mdb, mda, mde usw. einlesen

Mit einem Klick auf den Button "Dateien Einlesen" erfolgt das Einlesen.

Im Listenfeld erfolgt dann die Ausgabe des Ergebnisses:
Die Spaltenbreite passt sich automatisch dem breitesten Eintrag an
Mit einem Klick auf den Spaltenkopf lässt sich jede Spalte sortieren.

 

Dateien:
(0 Stimmen)

Einlesen von Dateien, mit oder ohne Unterverzeichnissen und Filterfunktion
in eine MS-Access Datenbank

ab A00

Der Download ist eine Setup.exe
Datum 05.02.2018
Dateigröße 335.78 KB
Download 5.104

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png8.png2.png5.png6.png
Heute2
Gestern118
Diese Woche248
Dieser Monat1910
Total1198256

  • IP: 54.92.170.149
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

18. Juli 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...