2014-11-25 2 views
0

QC 릴리스 폴더에 폴더 구조를 만들려고했습니다. 기존 폴더 수를 탐색 할 수 있지만 새 폴더를 추가 할 수있는 항목을 찾을 수 없습니다. 다음은 "Release \ XYZ \ ABC"형식으로 함수에 대한 경로를 보내서 호출 할 계획 인 Sub Routine입니다. 먼저이 코드는 경로에서 Releases 키워드를 무시합니다. 그런 다음 폴더 XYZ를 찾은 다음 찾을 수없는 경우 폴더 XYZ를 만들어야합니다. 누군가 노드를 추가하는 코드로 나를 도울 수 있습니까? 그런 다음 계속 코딩 할 수 있습니다. 이것은 나의 첫 번째 질문이므로 내 실수는 무시하십시오.HP ALM QC 11.0 릴리스 탭에 폴더 추가 Excel VBA를 사용하여

AddNode를 시도했지만 작동하지 않았습니다. 아래에 언급

내가 지금까지 작성한 코드입니다 :

공공 하위 releasePath (문자열로 strPath)

Dim arr, bflag 
Set folderFactory = tdc.releaseFolderFactory 
Set folderFactoryNode = folderFactory.Filter 
Set releaselist = folderFactoryNode.newList() 

arr = Split(strPath, "\") 
bflag = False 


relesefoldercount = releaselist.Count 
For i = 1 To relesefoldercount 
    Set releseitem = releaselist.Item(i) 
    If releaselist.Item(i).Name = arr(1) Then    
     bflag = True 
    End If 

Next 
If bflag = False Then 
    'create folder xyz   
End 

최종 하위 모든

+0

OTA API 문서 예제에서는 새로운 ReleaseFolder를 생성하기 위해 먼저 폴더의 부모로부터 ReleaseFolderFactory 객체를 가져 와서 생성하고 해당 팩토리에서'AddItem (Null)'을 호출하고 ReleaseFolder와 Post의 이름을 설정합니다 그것. AddItem을 호출하면 정확히 무엇이 실패합니까? 어떤 개체에서 AddItem을 호출합니까? – Roland

+0

releaselist 개체에 항목을 추가하려고했습니다. 그리고보고 된 오류는 객체가이 함수를 지원하지 않는다는 것입니다. – Noob

+0

나는 OTA API Reference에서 주어진 코드를 그대로 사용하려고 시도했다. 하지만 "품질 센터 세션 연결이 끊어졌습니다. 런타임 오류 -2147220427 (80040435)"오류가 발생합니다. 자세한 내용은 시스템 관리자에게 문의하십시오. " 이 오류는 'relFolder.Post'행 다음에 발생합니다. 그리고 tdc.Connected를 사용하여 확인하면 세션이 분리되지 않았 음을 나타내는 True를 반환합니다. – Noob

답변

1

첫째, 당신의 변수 이름이 생각 아주 혼란 ​​스럽네. folderFactoryNode은 TDFilter 객체이고 releaselist은 실제로 Release 목록이 아닌 ReleaseFolder 객체의 목록입니다. 새 ReleaseFolder를 만들려면 ReleaseFolderFactory의 AddItem을 호출해야합니다. 더 깊은 수준 (귀하의 예제에서 ABC 폴더), 당신의 AddItem을 사용할 수 있습니다에 대한

' Create a Release folder. 
Set oReleaseFolderFactory = tdc.ReleaseFolderFactory 
Set rootReleaseFolder = oReleaseFolderFactory.Root 
Set oReleaseFolderFactory = rootReleaseFolder.ReleaseFolderFactory 
Set relFolder = oReleaseFolderFactory.AddItem(Null) 
relFolder.Name = "XYZ" 
relFolder.Post 

: 귀하의 경우, 첫 번째 단계는합니다 (OTA API 문서에서 직접 테스트되지 않은) 그런 뭔가가 필요 폴더를 만들 수 있습니다 XYZ 폴더의 ReleaseFolderFactory

+0

게시 방법에 관한 위의 내 의견을 참조 할 수 있습니까? 지금까지 모든 도움을 주셔서 감사합니다. – Noob

+0

나는 당신의 코드도 사용해 보았다. 동일한 오류가 발생합니다. 현재 사용하고있는 로그인 ID는 폴더를 만들 수있는 권한이 있습니다. 그래서 심지어 그것이 가능한 문제로 배제됩니다. – Noob

+0

감사합니다. 이 코드는 작동했습니다. 나는 엑셀을 닫았고 배경에 인스턴스가 없다는 것을 확인했다. 그것은 나중에 잘 작동했습니다. 당신의 응답을 주셔서 감사합니다. – Noob