schwazza
Goto Top

Daten in Excel unter best. Bedingungen importieren

Hallo,

ich importiere zurzeit Formulardaten nach Excel aus allen Word-Dateien, die sich in einem bestimmten Ordner befinden.
Die Dateien suche ich folgendermaßen:

FS As New FileSearch
With FS
.FileName = "*.docx"  
.LookIn = "C:\Users\schwazza\Einlesen"  
.SearchSubFolders = True
.Execute
...

Nun ist es so, dass die Word-Dateien die Dokumenten-Eigenschaft "active" oder "archive" aufweisen können (Zusatzinfo: Die Dateien liegen auf einem SharePoint).
Ist es möglich, dass nur die Dateien eingelesen werden, die auf "aktiv" gesetzt sind?

Grüße
schwazza

Content-Key: 300634

Url: https://administrator.de/contentid/300634

Printed on: April 26, 2024 at 16:04 o'clock

Member: schwazza
schwazza Apr 08, 2016 at 16:56:48 (UTC)
Goto Top
Ich habe einen neuen Ansatz:
Ich würde jetzt gerne nicht mehr alle .docx-Dateien einlesen, sondern nur Dateien, die (irgendwo) im Dateinamen "active" stehen haben.
Wie genau ist das möglich?

Gruß
schwazza
Mitglied: 114757
Solution 114757 Apr 08, 2016, updated at Apr 14, 2016 at 08:25:35 (UTC)
Goto Top
Zitat von @schwazza:
alle .docx-Dateien einlesen, sondern nur Dateien, die (irgendwo) im Dateinamen "active" stehen haben.
Wie genau ist das möglich?
z.B. so:
Const FOLDER = "C:\Users\schwazza\Einlesen"  
Const SEARCHWORD = "active"  
Const EXTENSION = "docx"  

Dim fso as Object, folder as Object, col as New Collection

Set fso = CreateObject("Scripting.FileSystemObject")   

' Suche starten  
SearchFiles fso.GetFolder(FOLDER),SEARCHWORD,EXTENSION


If col.Count > 0 Then
        ' Für jede gefundene Datei in der Collection  
	For Each f In col
		MsgBox "Datei gefunden: " &  f ,vbInformation  
	Next
Else
	MsgBox "Keine Dateien gefunden."  
End If

'Dateien rekursiv suchen  
Function SearchFiles(strFldr,strSearch,strExtension)
	For each file in strFldr.Files
		If InStr(1,file.Name,strSearch,1) > 0 and LCase(fso.GetExtensionname(file.Name)) = Lcase(strExtension) then
        	col.Add file.Path
    	End if
	Next
	
	For Each subFolder in strFldr.SubFolders
		SearchFiles subFolder, strSearch, strExtension
	Next
End Function
Gruß jodel32
Member: schwazza
schwazza Apr 14, 2016 updated at 06:59:49 (UTC)
Goto Top
Vielen Dank jodel32!

Ich habe es zeitlich leider erst jetzt wieder geschafft hier vorbeizuschauen.

Um den Code möglichst kurz zu halten, habe ich mir in der Zwischenzeit folgende Möglichkeit überlegt, um nach den Dateien zu suchen:

.FileName = "*active*.docx" 'nur Dateien, die im Namen *active* haben  

Dadurch sollte es doch auch möglich sein nur Dateien zu durchsuchen, die irgendwo im Namen "active" stehen haben. Oder übersehe ich da etwas? Die wesentlich längere Lösung von jodel32 verunsichert mich da gerade ein wenig, was bestimmt auch an meinen noch nicht sehr umfangreichen VBA Kenntnissen liegt.

Gruß
schwazza
Mitglied: 114757
114757 Apr 14, 2016 updated at 08:23:03 (UTC)
Goto Top
Mein Code macht genau das was du willst und das auch rekursiv ...