Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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
Inhaltsverzeichnis

Datum abfragen

Datum abfragen
Horst
Hallo Excel-Freunde,
bei untenstehendem Makro wird das Erstellungsdatum einer .xls ausgelesen. Wenn dies nun dem Systemdatum entspricht soll eine MsgBox ausgegeben werden, sonst nicht. Irgendwie hinkt's an der Zeile
"If saveDate = Date$ Then" ... wie frage ich das Systemdatum korrekt ab?
Besten Dank vorab!
Sub Project()
Dim olapp As Object
Dim mybox As String
Dim objFSO As Object, objF As Object
Dim saveDate As Date
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objF = objFSO.GetFile("C:\test.xls")
saveDate = objF.DateLastModified
Set objF = Nothing
Set objFSO = Nothing
If saveDate = Date$ Then
MsgBox "Alles ok!"
Else
End If
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datum abfragen
25.11.2009 20:55:02
chris
Hallo,
versuchs mal so.
Sollte gehen.
Sub Project()
Dim olapp As Object
Dim mybox As String
Dim objFSO As Object, objF As Object
Dim saveDate As Date
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objF = objFSO.GetFile(ThisWorkbook.FullName)
saveDate = objF.DateLastModified
Set objF = Nothing
Set objFSO = Nothing
If Format(CDate(saveDate), "dd.mm.YYYY") = CDate(Date) Then
MsgBox "Alles ok!"
Else
End If
End Sub

AW: Datum abfragen
25.11.2009 21:54:21
Horst
geht leider nicht. Bei Format(CDate(saveDate), "dd.mm.YYYY") = CDate(Date) tut sich genauso wenig wie bei saveDate=Date. Hat noch wer eine Idee dazu?
Anzeige
AW: Date$ ?
25.11.2009 20:56:09
Daniel
wo kommt das Dollarzeichen her, ich kenne nur die Funktion DATE, aber nicht Date$
Gruß, Daniel
AW: Date$ ?
25.11.2009 21:49:10
Horst
das Date$ hab' ich aus der Hilfe, scheint Date ziemlich ähnlich zu sein.
AW: Date$ ?
25.11.2009 22:00:36
Daniel
hi
nein, ist eigentlich ziemlich unähnlich.
Date gibt einen Zahlenwert zurück, Date$ einen Textstring.
welche Variante du verwenden musst, hängt davon ab, welchen Datentyp dein Vergleichswert hat (bzw der Datentyp DATE ist ein numerischer Typ), da man Texte mit Zahlen nicht vergleichen kann.
auch wäre ich vorsichtig mit Date$, da du hier die Darstellungsform nicht beeinflussen kannst (dh Tag-Monat-Jahr oder Monat-Tag-Jahr).
Besser ist hier die Funktion FORMAT(DATE, "DD.MM.YYYY"), mit der du das einstellen kannst
gruß, Daniel
Anzeige
AW: Date$ ?
25.11.2009 22:18:48
Horst
danke fpr die Info, aber auch mit Format(Date, ...) klappt's nicht. Sonstige Vorschläge?
Date
25.11.2009 22:22:07
Matthias
Hallo
If Format(saveDate, "DD-MM-YYYY") = Format(Date, "DD-MM-YYYY") Then
Bei mir klappts.
Gruß Matthias
AW: Ganzzahl vs Dezimalzahl
25.11.2009 22:34:23
Daniel
Hi
grundsätzlich würde ich schon mit SaveDate und Date arbeiten ohne das ganze über Format() oder Date$ in Text zu wandeln.
das Problem an der Sache ist, daß SaveDate Datum und Uhrzeit beinhaltet und Date nur ein Datum ist.
wenn man sich ein bisschen mit dem Exceldatum auskennt, dann weiß man:
Datum = Ganzzahl, Uhrzeit = Nachkommastellen
dh. damit das ganze funktioniert, musst du für den Vergleich von SaveDate und Date die Uhrzeit - dh. die Nachkommastellen - aus SaveDate entfernen:
 If Int(saveDate) = Date Then

Gruß, Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige