Wiederherstellung von EPDM-Variablen in Excel über VBA

Hallo ihr alle

Ich brauche wieder Ihre Hilfe.

Ich möchte eine Variable aus einer pdm-Datei abrufen (Variable mit dem Namen "_Description" über ein Excel-Makro. Hier ist mein Code-Schnipsel, ich bekomme nichts.

Ich denke, der Fehler kommt vom Laden der Konfigurationen auf enumvar-Ebene.

    Bei Fehler: Weiter fortsetzen
    
    Dim strWorkbookPath als Zeichenfolge
    strWorkbookPath = ThisWorkbook.FullName
    
    Dim oVault als neues EdmVault5
    oVault.LoginAuto oVault.GetVaultNameFromPath(strWorkbookPath), 0
    
    
    Dimmen Sie oFile als IEdmFile6
    Dimmen Sie oFolder als IEdmFolder6
    Legen Sie oFile = oVault.GetFileFromPath(strWorkbookPath, oFolder) fest
    
    Dim projName als Zeichenfolge
    
    Wenn oFile nichts ist, dann
      MsgBox "Datei nicht im EPDM-Tresor", vbCritical
    Oder
   
      Arbeitsblatt als Arbeitsblatt dimmen
      Arbeitsblatt = ThisWorkbook.ActiveSheet
      
      Dimmen von oRef als IEdmReference5
      Legen Sie oRef = oFile.GetReferenceTree(oFolder.ID, 0) fest.
            
      Dim msg As String
      Dim pos As IEdmPos5
      
      Set pos = oRef.GetFirstChildPosition(projName, True, True, 0)
      Ref als IEdmReference5 dimmen
      Sun xx als String
      Zeile dimmen Als Ganzzahl
      Zeile = 7
      
        "Abrufen von Variablen
        Dim enumVar As IEdmEnumeratorVariable5

        Dim oVal als Variante
        Dim bGetVar als boolescher Wert
        
        'Konfigurationen'
        Dim cfgList As EdmStrLst5
        Dim cfgName  als Zeichenfolge
        Dim pos2 als IEdmPos5
               
               
      Obwohl nicht pos. IsNull
        
        Set ref = oRef.GetNextChild(pos)
        
        "Konfiguration
        Legen Sie cfgList = ref fest. Datei.GetConfigurations
        Set pos2 = cfgList.GetHeadPosition
        cfgName = cfgList.GetNext(pos2)

        "Variablen"
        Legen Sie enumVar = ref fest. Datei.GetEnumeratorVariable
                
        "Überarbeitung
        enumVar.GetVar "_Révision", cfgName, oVal
        ActiveSheet.Cells(Zeile, 4). Wert2 = oVal
        
        
        "Beschreibung
        bGetVar = enumVar.GetVar("Beschreibung", cfgName, oVal)
        ActiveSheet.Cells(Zeile, 6). Wert2 = oVal
        
        "Nächste Zeile
        Zeile = Zeile + 1
        
      Wend
       

Hallo

Leider müssen Sie die Datei extrahieren und dann die Extraktion rückgängig machen, um den Inhalt der Variablen abrufen zu können.

Verwenden Sie lockfile, realisieren Sie die Datenwiederherstellung und entfernen Sie dann die Datei.

In der Tat, so dumm ist das.

Danke für die Info.

Schönen Tag