Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
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

Erstelldatum VBA-Code

Erstelldatum VBA-Code
10.02.2016 09:13:16
Robin
Hallo,
ich muss in einer Zelle das Erstelldatum der geöffneten Exceldatei eintragen lassen. Hierfür greife ich auf das Erstelldatum, welches im Ordner angezeigt wird, zu. Der unten durchgeführte harte Schnitt (um die Uhrzeit nicht ausgeben zu lassen) funktioniert mit dem deutschen Datum und Uhrzeit hervorragend. Das Problem ist, dass meine Kollegen im Ausland das Makro ausführen müssen und die alles auf Englisch haben.
Demzufolge wird dort im Ordner das Datum zb so angezeigt:
11/20/2015 11:41 AM
2/2/2016 1:151 PM
Auf Grund der unterschiedlichen Längen funktioniert der harte Schnitt nicht.
Habt ihr einen Lösungsvorschlag?
Unten stehend mein Code:
Dim oDateiSystem As Object
Dim oDatei As Object
Application.DisplayAlerts = False
Dim CurrentWB As Workbook
Set CurrentWB = ActiveWorkbook
Set oDateiSystem = CreateObject("Scripting.FileSystemObject")
Set oDatei = oDateiSystem.getfile(ActiveWorkbook.FullName)
Debug.Print Left(oDatei.DateCreated, 10)
CurrentWB.Sheets("Tabelle1").Cells(1, 1).Value = Left(oDatei.DateCreated, 10)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
...=Split(oDatei.DateCreated)(0) --Gruß owT
10.02.2016 09:23:02
Luc:-?
:-?

AW: ...=Split(oDatei.DateCreated)(0) --Gruß owT
10.02.2016 09:42:03
Robin
Wie muss ich das denn einbauen?
Hab das jetzt nur mit dem Left(oDatei.DateCreated, 10) ausgetauscht
Set oDateiSystem = CreateObject("Scripting.FileSystemObject")
Set oDatei = oDateiSystem.getfile(ActiveWorkbook.FullName)
Debug.Print Split(oDatei.DateCreated)(0)
CurrentWB.Sheets("Tabelle1").Cells(10, 10).Value = Split(oDatei.DateCreated)(0)
dann kommt run-time error 91, object variable or with block variable not set

Das dürfte nichts mit meiner Änderung, die ...
10.02.2016 10:40:33
Luc:-?
…du richtig eingesetzt hast, Robin,
zu tun haben, sondern müsste/sollte eigentlich schon zuvor aufgetreten sein, denn die FM bezieht sich sicher auf ein Objekt, wohl oDatei.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Das dürfte nichts mit meiner Änderung, die ...
10.02.2016 11:59:41
Robin
hm, also nachfolgender Code funktioniert ohne Probleme
Dim oDateiSystem As Object
Dim oDatei As Object
Application.DisplayAlerts = False
Dim CurrentWB As Workbook
Set CurrentWB = ActiveWorkbook
Set oDateiSystem = CreateObject("Scripting.FileSystemObject")
Set oDatei = oDateiSystem.getfile(ActiveWorkbook.FullName)
Debug.Print Left(oDatei.DateCreated, 9)
CurrentWB.Sheets("Tabelle1").Cells(1, 1).Value = Left(oDatei.DateCreated, 9)
Muss ich denn diesen Split teil noch irgendwie definieren?

Uhrzeit vom Datum entfernen mit FIX
10.02.2016 12:34:12
Daniel
Hi
In Excel ist Datum+Uhrzeit ein Zahlenwert und Zahlenwerte mit Textfunktionen zu bearbeiten ist immer etwas kritisch, weil es hierbei Länderspezifische Unterschiede geben kann, welche für die weiter Verarbeitung relevant sein können.
Es ist daher bei internationaler Verwendung des Makros vorteilhaft, Zahlen immer nur mit Zahl-Funktionen zu bearbeiten und möglichst nie in einen Text zu wandeln.
Ein Tag entsprich dem Wert 1, dh die Nachkommastellen bilden die Uhrzeit.
Wenn du also so einen Datum+Uhrzeit-Wert von der Uhrzeit befreien willst, musst du die NK-Stellen abschneiden. Dazu kann man die Funktion FIX verwenden (oder auch INT).
probier mal:
Debug.Print Fix(ODatei.DateCreated)
das müsste in jeder Länderversion und unabhängig von ihrer Datums- und Zeitschreibweise funktionieren.
Gruß Daniel

Anzeige
AW: Uhrzeit vom Datum entfernen mit FIX
10.02.2016 16:11:04
Robin
Wenn ich deine vorgeschlagene Zeile statt Debug.Print Left(oDatei.DateCreated, 9) verwende, meldet der mir einen Fehler.
Vllt muss ich noch folgenden Hintergrund erwähnen:
Ich habe eine Datei mit einem bestimmten Aufbau. Diese wurde irgendwann 2015 erstellt. Nun werden in diese Datei neue Daten hineingeladen und unter einem anderen Namen neu abgespeichert. Im Ordner steht dann beim Erstelldatum zb das heutige Datum. Dieses "neue" Erstelldatum soll mit meinem Makro in eine Zelle eingetragen werden.
wenn ich im vba code die einzelnen Zeilen durchgehe, bricht er in der Zeile mit Fix ab.

Anzeige
AW: Erstelldatum VBA-Code
10.02.2016 12:51:39
EtoPHG
Hallo Robin,
Wieso ums Himmelswillen soll das ActiveWorkbook nochmals mit einem Script geöffnet werden.
Die Information ist doch im Objekt bereits verhanden!
CurrentWB.Sheets("Tabelle1").Cells(1, 1).Value = Fix(Activeworkbook.BuiltinDocumentProperties(11))
genügt ohne den ganzen restlichen crap.
Gruess Hansueli

AW: Erstelldatum VBA-Code
10.02.2016 16:14:33
Robin
Hallo Hansueli,
ich weiß nicht ganz genau, ob ich dich richtig verstehe.
Aber folgender Hintergrund:
Ich habe eine Datei mit einem bestimmten Aufbau. Diese wurde irgendwann 2015 erstellt. Nun werden in diese Datei neue Daten hineingeladen und unter einem anderen Namen neu abgespeichert. Im Ordner steht dann beim Erstelldatum zb das heutige Datum. Dieses "neue" Erstelldatum soll mit meinem Makro in eine Zelle eingetragen werden.
Deine Zeile wirft dann das Datum aus 2015 aus welches im ursprünglichen Dokument wohl hinterlegt ist, nicht allerdings das Datum ist, was ich brauche, nämlich das Erstelldatum aus dem Ordner für die tägliche Datei

Anzeige
AW: Erstelldatum VBA-Code
10.02.2016 16:28:47
Daniel
Hi
dann ist für dich das letzte Speicherdatum der der Datei das relevante.
dieses kannst du abfragen mit ActiveWorkbook.BuiltInDocumentproperties(12)
Gruß Daniel

AW: Erstelldatum VBA-Code
10.02.2016 16:35:33
Robin
Das dürfte nicht passen, da nachträglich ja noch Änderungen an der Datei vorgenommen werden können, diese gespeichert werden, dann allerdings nicht mehr dem Erstelldatum ersprechen.

AW: Erstelldatum VBA-Code
11.02.2016 10:18:51
Daniel
Hi
dann eben die BuiltInDocumentProperties(11), das ist das Erstelldatum der Datei.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige