Odzyskiwanie zmiennych EPDM w Excelu przez VBA

Cze wszystkim

Znowu potrzebuję twojej pomocy.

Chcę pobrać zmienną z pliku pdm (zmienna o nazwie "_Description" za pomocą makra Excela. Oto mój fragment kodu, nic nie rozumiem.

Myślę, że błąd wynika z ładowania konfiguracji na poziomie enumvar.

    W przypadku błędu Wznów następny
    
    Dim strWorkbookPath As String
    strWorkbookPath = TenSkoroszyt.Pełna Nazwa
    
    Dim oVault jako nowy EdmVault5
    oVault.LoginAuto oVault.GetVaultNameFromPath(strWorkbookPath), 0
    
    
    Dim oFile As IEdmFile6
    Dim oFolder As IEdmFolder6
    Ustaw oFile = oVault.GetFileFromPath(strWorkbookPath, oFolder)
    
    Dim projName As String
    
    Jeśli oFile to nic to
      MsgBox "Plik nie znajduje się w skarbcu EPDM", vbCritical
    Inaczej
   
      Przyciemnij arkusz jako arkusz roboczy
      Arkusz roboczy = Tenskoroszyt.ActiveSheet
      
      Dim oRef As IEdmReference5
      Ustaw oRef = oFile.GetReferenceTree(oFolder.ID, 0)
            
      Dim msg As Ciąg
      Dim pos As IEdmPos5
      
      Set pos = oRef.GetFirstChildPosition(projName, True, True, 0)
      Dim ref As IEdmReference5
      Słońce xx Jako ciąg
      Przyciemnij wiersz jako liczbę całkowitą
      wiersz = 7
      
        'Pobieranie zmiennych
        Dim enumVar As IEdmEnumeratorVariable5

        Dim oVal As Variant
        Dim bGetVar jako wartość logiczna
        
        "Konfiguracje"
        Dim cfgList As EdmStrLst5
        Dim cfgName  As Ciąg
        Dim pos2 As IEdmPos5
               
               
      Chociaż nie poz. IsNull (Wartość JestNull)
        
        Set ref = oRef.GetNextChild(pos)
        
        'Konfiguracja
        Ustaw cfgList = ref. File.GetConfigurations
        Ustaw pos2 = cfgList.GetHeadPosition
        cfgName = cfgList.GetNext(pos2)

        "Zmienne"
        Ustaw enumVar = ref. File.GetEnumeratorVariable
                
        "Rewizja
        enumVar.GetVar "_Révision", cfgName, oVal
        ActiveSheet.Cells(wiersz, 4). Wartość2 = oVal
        
        
        "Opis
        bGetVar = enumVar.GetVar("Opis", cfgName, oVal)
        ActiveSheet.Cells(wiersz, 6). Wartość2 = oVal
        
        "Następny wiersz
        wiersz = wiersz + 1
        
      Wend
       

Witam

Niestety, musisz rozpakować plik, a następnie cofnąć ekstrakcję, aby móc odzyskać zawartość zmiennych.

Użyj pliku blokującego, zrealizuj odzyskiwanie danych, a następnie odblokuj plik.

Rzeczywiście, tak głupie jak to.

Dzięki za info.

Miłego dnia