Resultaat van een vba zoekopdracht op excel

Hallo

Het is me gelukt om een zoekopdracht (via VBA) op een EPDM-kluis te starten via het onderstaande codefragment.

Mijn vraag is de volgende, ik zou in deze zoekopdracht de variabelen van elke zoekopdracht willen ophalen, ik heb bijvoorbeeld een variabele met de naam _NumNDL.

Ik denk dat je iets als GetVar of eNumVar moet gebruiken op een van de resultaten, maar ik heb niet de syntaxis of de oplossing. Als iemand weet hoe hij mij kan helpen?

Sub FindFile()

Dim eVault          als IEdmVault5
Dim eSearch         als IEdmSearch5
Dim eResult         als IEdmSearchResult5
Dim FileCount       zo lang mogelijk

Bestandstelling = 0

    'Aansluiting op de kofferbak
    Stel eVault in = Nieuwe EdmVault5
    eVault.LoginAuto eVault.GetVaultNameFromPath("C:\_Clarity\"), 0
    
    'Start van het onderzoek
    Stel eSearch = eVault.CreateSearch in
    eSearch.AddVariable "_NDLNouv", "%1%"
    eSearch.Filename = "%NDL%"
    Stel eResult in = eSearch.GetFirstResult

    Lezen van de resultaten
    Hoewel eResult niets is
        FileCount = FileCount + 1

        Cellen(FileCount, 1) = eResult.Name
        Cellen(FileCount, 2) = eResult.Path
        Cellen(FileCount, 3) = eResult.StateName
        Stel eResult in = eSearch.GetNextResult
    Gaan

Einde Sub

 

Hallo

Sterker nog, je kunt oneindig veel resultaten hebben! Je kunt dus geen variabele gebruiken, maar je moet een array gebruiken, wat hier wordt gedaan!

De regel "  FileCount = FileCount + 1" wordt gebruikt om naar de volgende regel te gaan.

En uw gegevens worden op deze manier opgeslagen in 3 kolommen:

        Cellen(FileCount, 1) = eResult.Name
        Cellen(FileCount, 2) = eResult.Path
        Cellen(FileCount, 3) = eResult.StateName

 

 

Bedankt voor je antwoord, maar je geeft me een code die ik zelf heb geschreven als reactie...

Sorry dat ik je tegenspreek, ik heb me misschien slecht uitgedrukt, maar er zijn ePDM-variabelen, als je in de code kijkt die ik heb verstrekt, voeg ik de variabele "_NDLnouv" toe aan mijn zoekopdracht.

Via eResult kan ik niet alle zoekvelden ophalen: 

 

Ik wil graag alle velden kunnen ophalen die betrekking hebben op het zoekresultaat.

Hallo

Tenzij ik me vergis (ik heb dit soort macro's al gedaan), moet je het bestand uitpakken om de inhoud van de variabele op te halen en vervolgens de extractie annuleren.

U moet dus een aanvullende behandeling toevoegen.

Zie bijgevoegd bestand voor verdere verwerking


macro_search.txt
1 like

Hartelijk dank,

 

Over het principe werkt het goed, suaf dat ik een fout op 424 op:

bestand. LockFile resultaat. OuderMapID, 0.

Als ik het bestand "met de hand" uitpak, werkt het, maar ik kan het niet uitpakken via uw code, ik denk dat ik de lockfile-functie mis?

Ik ben vergeten te veranderen, in zowel de lockfile als undolockfile functies moet je resultaat zetten . ParentFolderID in plaats van  resultaat. OuderMapID

Inderdaad, ik heb het ook gemist, ik had het zelf kunnen controleren, het werkt in ieder geval niquel heel erg bedankt.

In de gemoedstoestand vind ik het echter vreemd dat we gedwongen worden om het bestand uit te pakken, omdat we in de zoekweergave duidelijk de verschillende variabelen kunnen zien die worden weergegeven en die deel uitmaken van het zoekresultaat. Het verbaast me dat je ze niet kunt lezen zonder door vergrendelen of ontgrendelen te gaan.

Desalniettemin dank u voor uw hulp.

Het is inderdaad vreemd, maar van wat ik begreep van de API-help, heeft het te maken met het feit dat variabelen via kaarten kunnen worden bekeken wanneer ze kunnen worden bewerkt. In feite moeten de bestanden worden uitgepakt.