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

Dokumenteigenschaften auslesen dauert

Dokumenteigenschaften auslesen dauert
23.05.2016 09:19:35
Nelloz
Hallo,
ich lese aus ca 300 Dateien die Dokumenteigenschaften aus, was leider pro Dokument ein paar Sekunden dauert, was sich addiert. Der Code ist folgender:
Dateiname = Dir("\\server\*.doc*")
Do While Dateiname ""
strDateiname = "\\server\" & Dateiname & ""
Set objDatei = GetObject(strDateiname)
Set dp = objDatei.ContentTypeProperties
ThisWorkbook.Worksheets("Dokumentenbibliothek").Range("b" & letzteZeile_excel_DB + 1).Offset(i, 0) = dp("User / Support")
i = i + 1
Dateiname = Dir$()
Loop
Ich konnte herausfinden, dass die Zeile "Set objDatei = GetObject(strDateiname)"
diejenige ist, die so lange braucht zum Ausführen.
Kann man das irgendwie eleganter lösen?
Vielen Dank!

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

Betreff
Datum
Anwender
Anzeige
AW: Dokumenteigenschaften auslesen dauert
23.05.2016 10:37:39
Zwenn
Hallo Nelloz,
da Du bereits rausgefunden hast, dass es an der Zeile liegt, die Deine gewünschte Datei zur Verfügung stellt und diese Datei auf einem Server liegt, nehme ich an, es liegt nicht am Makro. Ich mutmaße, dass der Netzwerkzugriff einfach so lange dauert. Du kannst das testen, indem Du den Zeitbedarf mal checkst, wenn du auf lokale Dateien zugreifst.
Viele Grüße,
Zwenn

AW: Dokumenteigenschaften auslesen dauert
23.05.2016 10:45:49
Nelloz
Hallo Zwenn,
vielen Dank für den Tip, habe es ausprobiert, und es dauert lokal eigentlich genau so lang.
Ich prüfe auch mit GetFile später noch das DateLastModified. Dieses Aktionen werden sofort ausgeführt und gehen blitzschnell, obwohl hier auch die Daten vom server geladen werden.
Leider kann ich mit GetFile nicht die Dokumenteigenschaften abgreifen, bzw. ich weiß nicht wie.

Anzeige
AW: Dokumenteigenschaften auslesen dauert
23.05.2016 11:07:12
Zwenn
So,
habe mal gegoogelt ;-) Kann es sein, dass Dein Makro jede Datei öffnet? Dateieigenschaften lassen sich wohl mit GetFileProperty auslesen. Man muss dann nur wissen, hinter welcher Nr. sich welche Eigenschaft verbirgt, wenn ich das auf die Schnelle richtig verstanden habe. Das geht auch ohne die Datei zu öffnen.
Schau dazu mal diesen Thread an:
https://www.administrator.de/frage/vba-dateieigenschaften-auslesen-264976.html
Da findest Du in einem der Beiträge besagte Liste und das Problem wurde am Ende auch gelöst.
Vielleicht hilft Dir das weiter. Was anderes fällt mir dazu jetzt leider auch nicht ein, bzw. ich habe jetzt keine Zeit es auszuprobieren.
Gruß,
Zwenn

Anzeige
AW: Dokumenteigenschaften auslesen dauert
23.05.2016 11:31:53
ransi
Hallo,
ICh hab mal sowas genutzt.
Das liest die Dateigenschaften, die im Explorer angezeigt werden, aus:
Option Explicit

Sub Dateieigenschaften()
    'von k.rola
    Const STRFOLDER As String = "C:\Users\Test" 'anpassen
    Dim objShell As Object
    Dim objFolder As Object
    Dim x As Integer
    Dim spalte As Integer
    Dim zeile As Long
    Dim varName, arrHeaders(255)
    If Dir(STRFOLDER, 16) = "" Then
        MsgBox "Der Ordner " & STRFOLDER & " wurde nicht gefunden!" & Space(10), 64, "weise hin..."
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(STRFOLDER)
    spalte = 1
    For x = 0 To 255
        arrHeaders(x) = objFolder.GetDetailsOf(varName, x)
        Cells(1, spalte + x) = arrHeaders(x)
    Next
    Rows(1).Font.Bold = True
    zeile = 2
    For Each varName In objFolder.Items
        For x = 0 To 255
            Cells(zeile, spalte + x) = objFolder.GetDetailsOf(varName, x)
        Next
        zeile = zeile + 1
    Next
    Columns.AutoFit
    Application.ScreenUpdating = True
End Sub


ransi

Anzeige
AW: Dokumenteigenschaften auslesen dauert
23.05.2016 11:56:46
Nelloz
Hallo,
danke für den Code, dieser funktioiert auch und gibt mir die Standard Properties von den Files zurück.
Leider werden die ContentTpyeProperties mit GetDetailsOf nicht angezeigt. Da liegt der Knackpunkt denke ich. Wie komme ich an die ran?

AW: Dokumenteigenschaften auslesen dauert
23.05.2016 11:32:49
Nelloz
Hmmmm
So richtig anwenden kann ich das irgendwie auch nicht auf mein Problem, da ich ContentTypeProperties, also benutzerdefinierte SharePoint Properties, verwende. Ich denke auch, dass das Öffnen der Datei die Zeit in Anspruch nimmt, jedoch keinen Weg gefunden diese ContentTypeProperties auszulesen, ohne die Datei zu öffnen. Ich habe es mal mit dem GetFileProperty versucht, erhalte da aber den Fehler "Objektvariable oder With-Blockvariable nicht festgelegt."

Anzeige
AW: Dokumenteigenschaften auslesen dauert
23.05.2016 12:03:34
Zwenn
Hier hat Nepumuk eine Methode beschrieben, wie man Werte aus geschlossenen Excel-Dateien auslesen kann. Ob das auch für die von Dir gewünschten Eigenschaften geht musst Du ausprobieren.
http://www.online-excel.de/excel/singsel_vba.php?f=82

AW: Dokumenteigenschaften auslesen dauert
23.05.2016 12:41:59
Nelloz
Habe ein bisschen mit der Methode rumprobiert, doch leider scheint es als könne man damit tatsächlich nur einzelne Werte aus einer Zelle lesen können, komme damit also leider auch nicht weiter.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige