Code:
Function FindFirstPos(myvault As IEdmVault21, SWXModell As String) As Collection
Dim message As String
Dim search As IEdmSearch9
Dim result As IEdmSearchResult5
Dim epdmFolder As IEdmFolder11
Dim epdmfile As IEdmObject5
Dim lFile As IEdmBatchGet
Dim pdmSelItems() As EdmSelItem
Dim error() As String
Dim oFile As IEdmFile17
Dim FSO As FileSystemObject
'Dim PosResult As Collection
Dim boolstatus As Boolean
Dim DesiredFile As String
Dim ModelName As String
Dim ModelPath As String
Dim NewModelName As String
Dim i As Integer
Dim longstatus As Long, longwarnings As Long, longerrors As Long
Set search = myvault.CreateSearch2
search.Clear
search.FindFolders = False
search.FindFiles = True
'search.FileName = SWXModell & "*(.sldprt|.sldasm|.slddrw)"
search.FileName = SWXModell
search.Recursive = True
search.SetToken Edmstok_Recursive, True
Set FindFirstPos = New Collection
FindFirstPos.Add "Dummy", "Name"
Set result = search.GetFirstResult
If result Is Nothing Then
FindFirstPos.Remove (1)
FindFirstPos.Add "Nichts", "Name"
Set result = Nothing
Set search = Nothing
Exit Function
End If
ReDim pdmSelItems(2)
Set lFile = myvault.CreateUtility(EdmUtil_BatchGet)
i = 1
Do While Not result Is Nothing
Set epdmFolder = myvault.GetObject(EdmObjectType.EdmObject_Folder, result.ParentFolderID)
Set epdmfile = myvault.GetObject(result.ObjectType, result.ID)
FindFirstPos.Remove (1)
FindFirstPos.Add result.Name, "Name"
ModelName = result.Name
FindFirstPos.Add result.ID, "NameID"
FindFirstPos.Add result.path, "Path"
FindFirstPos.Add result.ParentFolderID, "FolderID"
pdmSelItems(i).mlDocID = result.ID
pdmSelItems(i).mlProjID = result.ParentFolderID
lFile.AddSelection myvault, pdmSelItems
lFile.CreateTree 0, EdmLib.EdmGetCmdFlags.Egcf_RefreshFileListing
lFile.GetFiles 0
Set result = search.GetNextResult
i = i + 1
If i = 2 Then Exit Do
Loop
Set result = Nothing
Set search = Nothing
End Function