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

Datei-Info

Datei-Info
24.04.2006 12:03:23
ctr01
Hallo zusammen
Ich brauche Eure Hilfe bei folgendem Problem :
eine von mir erstellte Vorlage innerhalb eines Ordertools erfährt naturgemäß im Laufe der Zeit die ein oder andere Änderung. Um ggf. nachzuvollziehen, wie aktuell die Vorlage bei diesem oder jenem Anwender derzeit ist, arbeite ich mit Versionsnummern, die sich im Explorer bei der Vorlage über "Eigenschaften, Dateiinfo, Version" mitführen lassen. Leider suche ich seit geraumer Zeit vergeblich nach einer Möglichkeit, diese per VBA abzufragen. Das würde mir das Administrieren enorm erleichtern.
Kennt jemand von Euch einen Weg?
Im voraus schon einmal herzlichen Dank die Hilfe (Ihr seht, ich glaube an Euch !)
Gruß Norbert

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei-Info
24.04.2006 12:28:14
Heiko
Hallo Norbert,
suchst du das ?!

Sub VersionNrAusgeben()
MsgBox ThisWorkbook.BuiltinDocumentProperties(8)
End Sub


Sub VersionNrsetzen()
ThisWorkbook.BuiltinDocumentProperties(8) = 1
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Datei-Info
24.04.2006 13:04:17
ctr01
Hallo Heiko,
uiii, Du warst aber schnell (und gut)! Danke.
habe kurz getestet, im Prinzip genau das, was ich suche. Habe nur noch ein kleines (Rest-)Problem und eine - nicht lebensnotwendige - Ergänzungsfrage:
Die Änderung funktioniert, wenn ich z.B. auf Versionsnummer 2 setze. Ich benötige jedoch, wenn ich nicht alles umstellen will, eine 2.2, 2.3 etc.
Das funktioniert nicht, egal ob ich "2.2", "2,2" vorgebe oder das Ganze als str-Variable "verpacke", genausowenig bei einer variant-Variablen. Woran kann das liegen?
Und die Ergänzungsfrage : muß die Datei dazu unabdingbar geöffnet sein? Ich bekomme es nämlich nicht hin, die Info der geschlossenen Datei (mit entsprechender Pfadangabe) abzufragen bzw. zu ändern.
Wäre toll, wenn Du auch da Rat wüßtest.
Gruß Norbert
Anzeige
AW: Datei-Info
24.04.2006 13:40:19
Heiko
Hallo Norbert,
zu 1. Ich denke mal das die Variable von Mircosoft in VBA als Long deklariert ist, also keine Chance Komma Werte oder Text da rein zu kriegen.
zu 2. mit diesem Makro kiegt man ja Daten aus einer geschlossenen Mappe, ob man damit auch irgendwie an die BuildInDocumentProperties rankommt mußt du selbst mal googeln.

Function GetValue(path, file, sheet, ref)
' VBA Funktion to Get a Value From a Closed File
' VBA does not include a method to retrieve a value from a closed file. You can, however,
' take advantage of Excel's ability to work with linked files.
' This tip contains a VBA funktion that retrieves a value from a closed workbook.
' It does by calling an XLM macro.
' The GetValue funktion, listed below takes four arguments:
' path:  The drive and path to the closed file (e.g., "d:\files")
' file:  The workbook name (e.g., "99budget.xls")
' sheet: The worksheet name (e.g., "Sheet1")
' ref:   The cell reference (e.g., "C4")
' Aufruf z.B.  i = GetValue("C:\test", "test1.xls", "Tabelle1", "A1")
' Retrieves a value from a closed workbook
Dim arg As String
' Make sure the file exists
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
' Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function


Sub Test()
Dim i
i = GetValue("C:\Copy", "test.xls", "Tabelle1", "A1")
MsgBox TypeName(i)
MsgBox CStr(i)
MsgBox i
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Datei-Info
24.04.2006 15:52:59
ctr01
Hallo Heiko,
hat zwar etwas gedauert, aber erst Mittagspause, dann ein bißchen googeln ...
Also : offenbar hast Du recht mit dem Variablentyp long. Ist zwar inkonsistent, wenn ich interaktiv alles eingeben kann, per VBA aber so festgelegt bin. Unser Admin würde vermutlich wieder sagen "... typisch Microsoft".
Zum Ansatz mit der Function : funktioniert in verschiedensten Zusammensetzungen nicht.
Habe dann auch versucht, zunächst einen Datenkanal zu öffnen "Open file For Binary Access Read .." oder "... For Output Shared ..."; läuft immerhin ohne Fehlermeldung, da die Datei geöffnet wird (Err=0), aber der Rückgabewert der Function ist auch stets = 0 !
Danke Dir in jedem Fall für Deine Hilfe; immerhin kann ich mein Problem wie gewünscht lösen, indem ich Deine Syntax in einer AutoOpen-Routine verwende und den Rückgabewert mit einer ini-Datei auf dem Server abgleiche und ggf. eine MsgBox ausgebe etc ...
Grüße Norbert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige