Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: Datei übersprigen, wenn geöffnet

Datei übersprigen, wenn geöffnet
06.04.2007 16:09:07
Matthias
Hi,
ich habe hier ein Makro, das die Eigenschaften von allen Dateien in einem bestimmten Ordner ausliest. Notwendig ist dazu eine spezielle dll von http://www.microsoft.com/germany/technet/datenbank/articles/600696.mspx . So weit klappt der Code prima. Ein Problem tritt aber auf, wenn eine von den Dateien geöffnet ist - dann bricht das Makro mit einer Fehlermeldung ab. Ich hätte nun gerne, das bei jeder Datei zuerst geprüft wird, ob sie geöffnet ist; wenn ja, soll sie übersprungen werden und die nächste Datei ausgelesen werden. Hier die Datei und der Code:
https://www.herber.de/bbs/user/41617.xls

Sub Auslesen()
Dim myFileSystemObject As FileSystemObject, myFile As File, lngRow As Long
Dim objFilePropReader As Object
Dim objDocProp As Object
Set objFilePropReader = CreateObject("DSOFile.OleDocumentProperties")
Set myFileSystemObject = New FileSystemObject
lngRow = 2
With Worksheets("Archiv")
.Range(.Cells(2, 1), .Cells(Rows.Count, 256)).ClearContents
For Each myFile In myFileSystemObject.GetFolder("S:\Dept\A032\032.3\Dateiverwaltung"). _
Files '' Verzeichnis anpassen!
objFilePropReader.Open myFile
Set objDocProp = objFilePropReader.SummaryProperties
.Cells(lngRow, 1) = myFile.Name
.Cells(lngRow, 2) = myFile.Type
.Cells(lngRow, 3) = myFile.DateCreated
.Cells(lngRow, 4) = myFile.DateLastModified
.Cells(lngRow, 5) = objDocProp.Title
.Cells(lngRow, 6) = objDocProp.Subject
.Cells(lngRow, 7) = objDocProp.Author
.Cells(lngRow, 8) = objDocProp.Category
.Cells(lngRow, 9) = objDocProp.Keywords
.Cells(lngRow, 10) = objDocProp.Comments
lngRow = lngRow + 1
objFilePropReader.Close
Next
End With
objFilePropReader.Close
Set objFilePropReader = Nothing
Set objDocProp = Nothing
Set myFileSystemObject = Nothing
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Datei übersprigen, wenn geöffnet
06.04.2007 18:00:54
Uwe
Hallo Matthias,
Guck mal hier: Datei geöffnet ?
Gruß Uwe
AW: Datei übersprigen, wenn geöffnet
06.04.2007 18:07:55
Matthias
Danke Uwe,
sowas meine ich. Wenn ein Error auftritt, soll einfach die nächste Datei geöffnet werden. Leider reichen meine VBA-Kenntnisse nicht aus, um diese Abfrage in die For...-Next...-Schleife meines Makros einzubauen. Für einen VBA-Erfahrenen sollte das nicht schwer sein...
Gruß Matthias
AW: Datei übersprigen, wenn geöffnet
06.04.2007 18:17:00
Uwe
Hallo Matthias,
Dein Code prüft ja im Prinzip auch schon,
ob die Datei geöffnet ist. Füge einfach
die Anweisung On Error Resume Next ein.

lngRow = 2
On Error Resume Next
With Worksheets("Archiv")
Gruß Uwe
Anzeige
AW: Datei übersprigen, wenn geöffnet
06.04.2007 18:31:00
Matthias
Super,
hat funktioniert!! Danke!
Matthias

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige