Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA - Wert aus externer Datei prüfen

VBA - Wert aus externer Datei prüfen
31.08.2006 16:51:07
Stefan Stern
Wir benutzen im Büro diverse Excel-Berechnungen, die alle 4 - 6 Wochen aktualisiert werden und dann an die Kollegen verteilt werden.
Ich würde gerne per VBA realisieren, dass der Benutzer eine MsgBox bekommt, wenn er eine veraltete Version öffnet.
Meine Idee:
Ich lege auf dem Server eine zweite Excel-Mappe ab, in die ich in Zelle A1 z.B. den Wert "17072006" (Datum "Stand der Überarbeitung" ohne Punkte) und bringe Excel dazu, beim Ereignis Workbook_Open() einen fest vorgegeben Wert mit der zweiten Arbeitsmappe zu vergleichen.
Wenn ich eine neue Version der Berechnung herausgebe, ändere ich den Wert im Code und in der "Prüfmappe" jeweils auf z.B. 31082006. Sollte eine ältere Version geöffnet werden, erscheint eben die MsgBox.
Ist das möglich?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Wert aus externer Datei prüfen
31.08.2006 18:14:58
Reinhard

Private Sub Workbook_Open()
Dim da As Object
fss_file = ThisWorkbook.Name
fss_path = ThisWorkbook.Path
fss_comp = fss_path & "\" & fss_file
Set da = CreateObject("Scripting.FileSystemObject")
Set dd = da.GetFile(fss_comp)
DateStored = dd.DateCreated
etc. etc.
End Sub

Mit der Variablen "DateStored" (diese gibt das Datum des aktuell geöffneten Workbooks zurück) kann dann ein Vergleich mit einer anderen Datei mit dem gleichen Verfahren durchgeführt werden.
AW: VBA - Wert aus externer Datei prüfen
31.08.2006 18:15:59
ChrisL
Hallo Stefan
Den Ansatz finde ich gut, mit einer kleinen Einschränkung. Warum Datum ohne Punkt als Zahl. Einfacher geht es, wenn du tatsächlich ein Datumswert verwendest.
In Tabelle1, A1 steht also das Datum der Mappe
In Tabelle1, A2 erstellst du eine Verknüpfung auf die Prüfmappe (ebenfalls Datum)
Dann lautet der Code wie folgt:

Private Sub Workbook_Open()
With Worksheets("Tabelle1")
If .Range("A1") <> .Range("A2") Then _
MsgBox "Die Mappe ist nicht mehr aktuell.", vbInformation, "Warnung"
End With
End Sub

Alt + F11, links Doppelklick auf DieseArbeitsmappe, Code einfügen.
Gruss
Chris
Anzeige
AW: VBA - Wert aus externer Datei prüfen
31.08.2006 18:48:45
P@ulchen
Hallo Stefan,
die gleiche Lösung wie die von ChrisL, nur wird hier die Verknüpfung zur Prüfmappe erst zur Laufzeit erstellt (Prüfmappe wird dabei nicht geöffnet) und nach der Prüfung wieder gelöscht.
Zu prüfendes Datum in der Prüfmappe steht in Tabelle1 Zelle"A1":

Option Explicit
Private Sub Workbook_Open()
Dim sPath As String, sFile As String, sWks As String
Dim sRange As String
sPath = "F:\Excel & VBA\Forum\Stefan"
sFile = "test.xls"
sWks = "Tabelle1"
sRange = "A1"
On Error Resume Next
Range("B1").Formula = "='" & sPath & _
      "\[" & sFile & "]" & sWks & "'!" & sRange
If Range("A1") < Range("B1"Then
    MsgBox "Veraltete Datei, bitte aktualisieren!", vbCritical, "Achtung"
End If
Range("B1").ClearContents
End Sub

Code eingefügt mit Syntaxhighlighter 4.0


Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige