Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel Datei eigenschaften

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel Datei eigenschaften (2007 mal gelesen)
Alex-01
Mitglied
 


Sehen Sie sich das Profil von Alex-01 an!   Senden Sie eine Private Message an Alex-01  Schreiben Sie einen Gästebucheintrag für Alex-01

Beiträge: 10
Registriert: 22.03.2002

ADT 3.3 - 2005
VIZ fuer 2005
Office 2003
PS CS
Illustrator CS

erstellt am: 10. Mrz. 2006 21:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

mal wieder eine kleine Frage.

in einem Excel Workbook habe ich einer Zelle den Namen PROP_TEST gegeben.
Das fuehrt dazu, dass ich im Explorer in der Benutzereigenschaften [TAB Anpassen] den Wert der Zelle sehen kann. Nun habe ich ein SUB gefunden das mir alle Datein eines Ordners listet und die Dateigroesse und das Datum der letzten Aenderung in eine neue Tabelle schreibt.
Versuche ich nun das gleiche, moechte aber den PROP_TEST Wert lesen klappt das nicht.

Die VBA Zeile lautet im Original
Cells(InI),2 = FileLen(.FoundFiles(InI))

Ich hoffe das Ihr mir helfen koennt! Habe bisher eigentlich nur den Part FileLen tauschen wollen, aber ohne Erfolg.

Schon mal Danke an alle

Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 11. Mrz. 2006 19:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Alex-01 10 Unities + Antwort hilfreich

Hi Alex,

die Klammer des Cells-Objektes ist falsch gesetzt.

Cells(InI, 2) = FileLen(.FoundFiles(InI))

------------------
Gruß
Nepumuk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Alex-01
Mitglied
 


Sehen Sie sich das Profil von Alex-01 an!   Senden Sie eine Private Message an Alex-01  Schreiben Sie einen Gästebucheintrag für Alex-01

Beiträge: 10
Registriert: 22.03.2002

ADT 3.3 - 2005
VIZ fuer 2005
Office 2003
PS CS
Illustrator CS

erstellt am: 13. Mrz. 2006 16:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


ScreenShot.pdf

 
Hallo Nepumuk,

Danke fuer die Antwort, leider hatte ich mich da nur vertippt. Im Anhang habe ich einen ScreenShot aus dem Explorer der die Eigenschaften anzeigt die ich "auslesen" moechte.
Das klaert so hoffe ich den Sachverhalt.

Danke bis dann

Alex


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 13. Mrz. 2006 16:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Alex-01 10 Unities + Antwort hilfreich

FileLen("Testdatei") liefert doch nur die grösse der Datei in Bytes

(.FoundFiles(InI)) ist nur eine Variable die durch eine Schleife den parameter ändert - hier die jeweilige Datei eines Ordners

der Zugriff auf die Deklarationen des Xl - files wird so nie ausgelesen werden können

Vielleicht wäre das posten des codes sinnvoller - den diese zeile hat nichts mit dem Problem zu tun - denke ich, mag mich auch irren

------------------
Am Anfang war kein Licht - und Vater blickte Kalt
Miss Brauch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Alex-01
Mitglied
 


Sehen Sie sich das Profil von Alex-01 an!   Senden Sie eine Private Message an Alex-01  Schreiben Sie einen Gästebucheintrag für Alex-01

Beiträge: 10
Registriert: 22.03.2002

ADT 3.3 - 2005
VIZ fuer 2005
Office 2003
PS CS
Illustrator CS

erstellt am: 13. Mrz. 2006 17:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


SUB.txt

 
Hallo,

OK haette ich auch gleich machen koennen, Sorry,
im Anhang der Code den ich auf unsere Beduerfnisse aendern moechte:

Anstatt der Dateigroesse moechte ich die benutzerdefinierten Eigenschaften auslesen.

Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 13. Mrz. 2006 19:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Alex-01 10 Unities + Antwort hilfreich

hmmm,
nix schönes, aber sollte funktionieren
Code:
Cells(InI, 3) = FileDateTime(.FoundFiles(InI)) ' Dateidatum
' Dokumenteigenschaften auslesen
Workbooks.Open Filename:=(.FoundFiles(InI)) 'open WB
dummy = ActiveWorkbook.CustomDocumentProperties("ich bin ein Wert").Value 'hier den Namen eingeben der ausgelesen werden soll
ggg = MsgBox("die eigenschaft von ich bin ein Wert lautet:" & dummy) 'only mess
ActiveWorkbook.Close SaveChanges:=False 'close Wb
Cells(InI, 4) = dummy 'einfügen des ausgelesenen wertes
' weiter mit altem code
Next InI

"ich bin ein Wert" durch deine Namen ersetzen - ich habe es leider nicht geschafft, das Xls passiv auszulesen, daher wird es kurz geladen... - ich schiel' mal jetzt auch ;-)

------------------
Am Anfang war kein Licht - und Vater blickte Kalt
Miss Brauch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Alex-01
Mitglied
 


Sehen Sie sich das Profil von Alex-01 an!   Senden Sie eine Private Message an Alex-01  Schreiben Sie einen Gästebucheintrag für Alex-01

Beiträge: 10
Registriert: 22.03.2002

ADT 3.3 - 2005
VIZ fuer 2005
Office 2003
PS CS
Illustrator CS

erstellt am: 13. Mrz. 2006 20:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hm,

vielen Dank fuer die Hilfe, es klappt und wiederum auch nicht,
Das SUB liest einen Ordern aus, somit bezieht sich alles auf ca. 100-200 Datein.
Das oeffnen macht das ganze sehr langsam.

Trotzdem vielen Dank

Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 13. Mrz. 2006 20:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Alex-01 10 Unities + Antwort hilfreich

sagte doch - ist nicht schön, weil es das xls-file öffnen muss - aber mehr kann ich nicht - Excel ist auch nur nebenbei bei mir.

THEdit:
hmmm, fällt mir gerade ein:
Application.ScreenUpdating = True = aktuallisiert den Bildschirm, das kostet zeit...
Application.ScreenUpdating = false - ist schneller ;-)

------------------
Am Anfang war kein Licht - und Vater blickte Kalt
Miss Brauch

[Diese Nachricht wurde von Thomas Harmening am 13. Mrz. 2006 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 13. Mrz. 2006 20:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Alex-01 10 Unities + Antwort hilfreich

Hi Alex,

das geht sehr schnell mit einer DLL von Microsoft.

http://support.microsoft.com/kb/224351/en-us

Im Download ist auch ein Beispiel für VB6.0, welches du fast 1:1 in VBA übernehmen kannst. Wenn du kein VB hast, dann kann ich dir auch ein VBA-Beispiel geben.

------------------
Gruß
Nepumuk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Alex-01
Mitglied
 


Sehen Sie sich das Profil von Alex-01 an!   Senden Sie eine Private Message an Alex-01  Schreiben Sie einen Gästebucheintrag für Alex-01

Beiträge: 10
Registriert: 22.03.2002

ADT 3.3 - 2005
VIZ fuer 2005
Office 2003
PS CS
Illustrator CS

erstellt am: 13. Mrz. 2006 21:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nepumuk,

koenntes Du mir bitte das VBA-Beispiel senden? Ich habe kein VB.

Danke

Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 13. Mrz. 2006 21:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Alex-01 10 Unities + Antwort hilfreich


dsofile.zip

 
Hi Alex,

ich häng dir die DLL mal an. Die muss in's Systemverzeichnis und registriert werden. Dann musst du in Excel einen Verweis auf die DLL setzten. Hier mal ein Beispiel, wie du damit die CustomDocumentProperties auslesen kannst.

Code:

Option Explicit

Public Sub prcReadCustomProperty()
    Dim objFilePropReader As DSOleFile.PropertyReader
    Dim objDocProp As DSOleFile.DocumentProperties
    Dim objCustProp As DSOleFile.CustomProperty
    Dim objFSO As Object, objFile As Object
    Set objFilePropReader = New DSOleFile.PropertyReader
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For Each objFile In objFSO.GetFolder("D:\Eigene Dateien\Eigene Excelformeln\").Files
        Set objDocProp = objFilePropReader.GetDocumentProperties(objFile.Path)
        For Each objCustProp In objDocProp.CustomProperties
            Debug.Print objCustProp.Name & ": " & CStr(objCustProp.Value) & _
                vbTab & "[" & fncTypeName(objCustProp.Type) & "]"
        Next
    Next
    Set objFilePropReader = Nothing
    Set objDocProp = Nothing
    Set objFSO = Nothing
End Sub

Private Function fncTypeName(lngType As Long) As String
  Select Case lngType
      Case 1: fncTypeName = "String"
      Case 2: fncTypeName = "Long"
      Case 3: fncTypeName = "Double"
      Case 4: fncTypeName = "Boolean"
      Case 5: fncTypeName = "Date"
      Case Else: fncTypeName = "Unknown"
  End Select
End Function


------------------
Gruß
Nepumuk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 13. Mrz. 2006 22:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Alex-01 10 Unities + Antwort hilfreich

Und für die Verfechter von "Late Binding":

Code:

Option Explicit

Public Sub prcReadCustomProperty()
    Dim objFilePropReader As Object, objDocProp As Object, objCustProp As Object
    Dim objFSO As Object, objFile As Object
    Set objFilePropReader = CreateObject("DSOleFile.PropertyReader.1")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For Each objFile In objFSO.GetFolder("D:\Eigene Dateien\Eigene Excelformeln\").Files
        Set objDocProp = objFilePropReader.GetDocumentProperties(objFile.Path)
        For Each objCustProp In objDocProp.CustomProperties
            Debug.Print objCustProp.Name & ": " & CStr(objCustProp.Value) & _
                vbTab & "[" & fncTypeName(objCustProp.Type) & "]"
        Next
    Next
    Set objFilePropReader = Nothing
    Set objDocProp = Nothing
    Set objFSO = Nothing
End Sub

Private Function fncTypeName(lngType As Long) As String
  Select Case lngType
      Case 1: fncTypeName = "String"
      Case 2: fncTypeName = "Long"
      Case 3: fncTypeName = "Double"
      Case 4: fncTypeName = "Boolean"
      Case 5: fncTypeName = "Date"
      Case Else: fncTypeName = "Unknown"
  End Select
End Function


------------------
Gruß
Nepumuk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Alex-01
Mitglied
 


Sehen Sie sich das Profil von Alex-01 an!   Senden Sie eine Private Message an Alex-01  Schreiben Sie einen Gästebucheintrag für Alex-01

Beiträge: 10
Registriert: 22.03.2002

ADT 3.3 - 2005
VIZ fuer 2005
Office 2003
PS CS
Illustrator CS

erstellt am: 17. Mrz. 2006 20:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nepumuk,

laeuft noch nicht ganz, habe es aber fast, nochmals danke.
Alex

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz